{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://hilpisch.com/tpq_logo.png\" alt=\"The Python Quants\" width=\"35%\" align=\"right\" border=\"0\"><br>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python for Finance"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Analyze Big Financial Data**\n",
    "\n",
    "O'Reilly (2014)\n",
    "\n",
    "Yves Hilpisch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img style=\"border:0px solid grey;\" src=\"http://hilpisch.com/python_for_finance.png\" alt=\"Python for Finance\" width=\"30%\" align=\"left\" border=\"0\">"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Buy the book ** |\n",
    "<a href='http://shop.oreilly.com/product/0636920032441.do' target='_blank'>O'Reilly</a> |\n",
    "<a href='http://www.amazon.com/Yves-Hilpisch/e/B00JCYHHJM' target='_blank'>Amazon</a>\n",
    "\n",
    "**All book codes & IPYNBs** |\n",
    "<a href=\"http://oreilly.quant-platform.com\">http://oreilly.quant-platform.com</a>\n",
    "\n",
    "**The Python Quants GmbH** | <a href='http://tpq.io' target='_blank'>http://tpq.io</a>\n",
    "\n",
    "**Contact us** | <a href='mailto:pff@tpq.io'>pff@tpq.io</a>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Mathematical Tools"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pylab import plt\n",
    "plt.style.use('seaborn')\n",
    "import matplotlib as mpl\n",
    "mpl.rcParams['font.family'] = 'serif'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Approximation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "uuid": "460b709e-eed1-48e4-b3ad-d07377ea5de6"
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "uuid": "2326c3ad-f244-4f48-8b68-851bd2347d57"
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return np.sin(x) + 0.5 * x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "uuid": "c09f73d2-c2a5-4c6d-a2f1-08a191378417"
   },
   "outputs": [],
   "source": [
    "x = np.linspace(-2 * np.pi, 2 * np.pi, 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true,
    "uuid": "96d2bd1b-8883-486d-920d-b610aeb076a8"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nxxQCIiJ57P8B9nShZRI1HNsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e29d470>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b')\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot\n",
    "# title: Example function plot\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Monomials as Basis Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "uuid": "ace90420-7219-4227-8210-bf107f556726"
   },
   "outputs": [],
   "source": [
    "reg = np.polyfit(x, f(x), deg=1)\n",
    "ry = np.polyval(reg, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "uuid": "c0667d3e-a48a-413d-b250-5e0d3b58275e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10c4310f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, ry, 'r.', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_1\n",
    "# title: Example function and linear regression\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "uuid": "096bb07a-55f7-45de-8734-2a76d8749d53"
   },
   "outputs": [],
   "source": [
    "reg = np.polyfit(x, f(x), deg=5)\n",
    "ry = np.polyval(reg, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "uuid": "5e17309e-e8e2-4df9-b841-0f57d983b89e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nG7zzTh6XXGLc4CSfd9EVfEKIjYVx4wrZujWXm2928NNPZgYNiqFPnxjWr6/mZFBWTKUkuPx8ePbZ\nSG65JRq7HRYtymfECCkDFaKyJAlURjkXzw0bvKNyrVb417/yuewyg0enVtOYg7PO8rBggZ316/Po\n29dBaqqFW2+NoV+/aL78sprmoNi5s8IxffaZhc6dY5k920b9+h7efTefAQNCcKCDEEFAkkAllHXx\n3L7dzJAh3lKUN97Ip2PHIBmdWtkxB2U86SQnu1m82M66dblcd52Dr7+2MnCgt6x0zRorjoreiJd2\njLZty237//137xQQd9wRw759JkaMKGTLllyuvjpIftZChCCZRbQSfE1RfOiQiWHDvKOA33wzn65d\ng/yiVMosm0CZi7GUnKjtggviePNNO99+W8isWTbWrbOyZYuVBg3c3HyzkzvucKCUu0Kzpx4/hq+Y\nvB9h8eJIZs+OJD/fxBVXOJk5s0DmARKiGkgSqIxSLlQOB/z971EcPGjmqafsXHttkCeAYsVPCCX4\nWozF14X7kkvcvPNOPrt25LHpn7tZuPFCFi6szcKFkXS6OIsP/uhG/J8nz4bq8xinxPTXXyZSUqys\nWWNl40YLhYUmGjRwM2uWnVtu8THSWghRaZIEKuuUi+e0aTa2brXSt6+DkSNDu2PS15NOmRfunByu\nHNOVq3en80irRN6Ztok3V8aT+3ka9T0nZkOddPNeIq++lEtaX8DN5yYS/b90Cloksjc6mZyfzNhs\nsG+fBa3NrFljZds2C26390qfnOyib18n995bSN26gf+5CFGTSRKoglWrrCxcGEnr1i5efLEGLFju\no0nGV3KAkxNExJ50+rX4gd7vdODgnnPJ6KdIOKzZbW3DG6kXkZtqAxK4n1TaspOde9uS27Vkyad3\nIj2TycOll7rp08dBnz5OzjsvlCY0EiK0GJYElFJzgTwgB7gIGKu1PmhUPJWVnm5m9OgoYmM9LFlS\nhakggk0pzURltdf7ShCNW8XC9vVk6jTqqiRSCz38+GMe339v5ocfbBw71p4esR5iYhzExHhISIgE\nCmjc2EPPnk4aNZILvxCBYOSTQK7WeiKAUuox4AlglIHxVFh2Ntx9dxR5eSZefTWfxMQw6KAsLTkU\nve4rQZT8TD2gc2cXnTu7gNObzRISIsnIkNk+hQi0oFheUik1HqittR5f1vucTpfHajV2bUSPB266\n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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1167e6278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, ry, 'r.', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_2\n",
    "# title: Regression with monomials up to order 5\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "uuid": "67b14a21-e8f2-4dd4-a43b-0d232f2b4055"
   },
   "outputs": [],
   "source": [
    "reg = np.polyfit(x, f(x), 7)\n",
    "ry = np.polyval(reg, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "uuid": "053752b7-7eb3-4d93-acdf-69874ceada12"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116943ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, ry, 'r.', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_3\n",
    "# title: Regression with monomials up to order 7\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "uuid": "e600b6be-4cf2-4212-807a-7f397f081e98"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.allclose(f(x), ry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "uuid": "bc6918fe-f520-483c-94eb-41dd89abfa70"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0017769134759517689"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum((f(x) - ry) ** 2) / len(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Individual Basis Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "uuid": "b4f05890-56e0-4f29-9d61-bd9948ad8af0"
   },
   "outputs": [],
   "source": [
    "matrix = np.zeros((3 + 1, len(x)))\n",
    "matrix[3, :] = x ** 3\n",
    "matrix[2, :] = x ** 2\n",
    "matrix[1, :] = x\n",
    "matrix[0, :] = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "uuid": "c8963eee-4bc8-4ef2-a172-d4b64fd065a3"
   },
   "outputs": [],
   "source": [
    "reg = np.linalg.lstsq(matrix.T, f(x))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "uuid": "efd077d1-9c8a-4961-be95-400f83cd679e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  1.50654604e-14,   5.62777448e-01,  -1.11022302e-15,\n",
       "        -5.43553615e-03])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "uuid": "efb7b252-d0f8-4263-b2be-4d9588ab06a7"
   },
   "outputs": [],
   "source": [
    "ry = np.dot(reg, matrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "uuid": "1b1953fe-83a2-436b-8cd4-69c5abf6d2e1"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAREriVw034kAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11694aa58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, ry, 'r.', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_4\n",
    "# title: Regression via least-squares function\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "uuid": "ac77ef01-8abe-4b99-8f92-8325a396ff2c"
   },
   "outputs": [],
   "source": [
    "matrix[3, :] = np.sin(x)\n",
    "reg = np.linalg.lstsq(matrix.T, f(x))[0]\n",
    "ry = np.dot(reg, matrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "uuid": "58d9db31-5885-4fba-8ae7-2e962a0963ca"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116b1f710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, ry, 'r.', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_5\n",
    "# title: Regression using individual functions\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "uuid": "02481bd5-c737-46bc-9b90-5554fcad8745"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.allclose(f(x), ry)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "uuid": "6bf80137-3a52-483b-a557-b092bbf23b36"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.4047359928855309e-31"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum((f(x) - ry) ** 2) / len(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "uuid": "86f9a92c-600d-4515-b34d-20c9f35a86b0"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  4.20040680e-16,   5.00000000e-01,   0.00000000e+00,\n",
       "         1.00000000e+00])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Noisy Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "uuid": "75d3a6a6-a940-4a49-b35d-29f21880ab95"
   },
   "outputs": [],
   "source": [
    "xn = np.linspace(-2 * np.pi, 2 * np.pi, 50)\n",
    "xn = xn + 0.15 * np.random.standard_normal(len(xn))\n",
    "yn = f(xn) + 0.25 * np.random.standard_normal(len(xn))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "uuid": "f6f9c05f-1f96-48ee-aaca-f4d80c3d3ac5"
   },
   "outputs": [],
   "source": [
    "reg = np.polyfit(xn, yn, 7)\n",
    "ry = np.polyval(reg, xn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "uuid": "9a475222-3bfd-4300-951b-94e60792c6da"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116b43c18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xn, yn, 'b^', label='f(x)')\n",
    "plt.plot(xn, ry, 'ro', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_6\n",
    "# title: Regression with noisy data\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Unsorted Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "uuid": "8ea85cdb-47f2-4967-b684-7894d9964e76"
   },
   "outputs": [],
   "source": [
    "xu = np.random.rand(50) * 4 * np.pi - 2 * np.pi\n",
    "yu = f(xu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "uuid": "0034edf5-1cef-4eea-be44-c69103fe6eb2"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-1.33  2.34  3.39  1.35  0.36 -5.68 -2.29 -3.37 -4.55  5.31]\n",
      "[-1.64  1.89  1.45  1.65  0.54 -2.27 -1.9  -1.46 -1.29  1.83]\n"
     ]
    }
   ],
   "source": [
    "print(xu[:10].round(2))\n",
    "print(yu[:10].round(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "uuid": "d7f5f003-1cb8-4432-a8d6-cb4bef1a101a"
   },
   "outputs": [],
   "source": [
    "reg = np.polyfit(xu, yu, 5)\n",
    "ry = np.polyval(reg, xu)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "uuid": "40177962-0363-479c-bdbd-451a4c043060"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116c2f400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xu, yu, 'b^', label='f(x)')\n",
    "plt.plot(xu, ry, 'ro', label='regression')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_reg_7\n",
    "# title: Regression with unsorted data\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Multiple Dimensions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "uuid": "82b95a7b-9e3e-4dc8-b313-1af775b06b8b"
   },
   "outputs": [],
   "source": [
    "def fm(p):\n",
    "    x, y = p\n",
    "    return np.sin(x) + 0.25 * x + np.sqrt(y) + 0.05 * y ** 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "uuid": "b03b67ac-f7df-41d1-9dab-1e074e8738fa"
   },
   "outputs": [],
   "source": [
    "x = np.linspace(0, 10, 20)\n",
    "y = np.linspace(0, 10, 20)\n",
    "X, Y = np.meshgrid(x, y)\n",
    "  # generates 2-d grids out of the 1-d arrays\n",
    "Z = fm((X, Y))\n",
    "x = X.flatten()\n",
    "y = Y.flatten()\n",
    "  # yields 1-d arrays from the 2-d grids"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "uuid": "52a91ef7-33c4-4de1-b69b-ea4d740aa252"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x116ef55f8>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe0AAAFUCAYAAAAJcWRGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXeUZNd93/m59773Knea7sk5oIFB\nGEQCzEG0LJOyrKV8vKK99lq2LPtQx7J2aSuslw7SHpk+lsRjUyvba2lFi7JoSpQs2SutZGpFQgwg\nwQyAAJoDDAaTZ7qnU3Wll+7+8bo6Vniv6lWHmfs5p88A1VX33aququ/9ZaG1xmAwGAwGw85HbvcG\nDAaDwWAwxMOItsFgMBgMuwQj2gaDwWAw7BKMaBsMBoPBsEswom0wGAwGwy7BiLbBYDAYDLsEq9Mv\np6fLph7MYDAYDD0zMVES272HOwljaRsMBoPBsEswom0wGAwGwy7BiLbBYDAYDLsEI9oGg8FgMOwS\njGgbDAaDwbBLMKJtMBgMBsMuwYi2wWAwGAy7BCPaBoPBYDDsEoxoGwwGg8GwSzCibTAYDAbDLsGI\ntsFgMBgMuwQj2gaDwWAw7BKMaBsMBoPBsEswom0wGAwGwy7BiLbBYDAYDLsEI9oGg8FgMOwSjGgb\nDAaDwbBLMKJtMBgMBsMuwYi2wWAwGAy7BCPahl2H1hqt9XZvw2AwGLYca7s3YDAkQUoIgoAwDACB\nEAIQgESI5v8bDAbDnYkRbcOuQEoQIvoJw6Yw6xWrWwhBZHwbITcYDHcuxj1u2PEotSrarVgvyhqt\nQ8LQR2uPMHQpFGzC0CMMfcIwNK51g8GwazGWtmHHsta6TspaIc/nsywuLrWxyOXKfxuL3GAw7HSM\naBt2HJYlKBQyVCr1VNZrWtabLXKN1kFLIRdCGhE3GAw7DiPahh2FlNGPUmpLrtdJyJfvgRBy5V8j\n5AaDYTsxom3YETQ1WgjQujeXeFpsFvJgxbW+fA8j5AaDYVswom3YVvqJW28l3YS8KeJGyA0GwyAx\nom3YFppCLbegfqFpuaedNL5WmLUOl/9tCvna0jMj5AaDIR1MyZdhy2mWcLUXbE0kdmmR9nrtWRXm\ntaVnPkNDWbT2TemZwWDoC2NpG7aMuK7w7Y5pp0lTxC1LIYReEWvTDMZgMPSCEW3DwGm6wdPSot0u\naq0z1o2QGwyG7hjRNgyUtVnhhvbEF3LTDMZguJsxom0YCDspK3xQiWiDxjSDMRgMGzGibUiVtFzh\nRoBaY5rBGAx3N0a0DamhVHqWdbqZ1c3s8V1masfENIMxGO4eTMmXoW9sWzIyktsRrnBDRCshlzJk\neDhLEDTWlJ4FpvTMYNhFGEvb0DNr49ZSbp1i9zb1K/197DaklCt/J9MMxmDYnRjRNvTE+uYo6Tcv\naZc8JoSgUMgRhg6e5+N5Pr4fdF1ru9kp+tfq9Vz+jSk9Mxh2AUa0DYnYuqzwzXHoTMYmm3Wo1118\nP8BxbAqFHFJKfD9YFnEPz/MJgnDQG7wjMTXkBsPOxoi2IRadxHrQHcwsS5HPZwhDTblcXRZob+X3\nQghs28K2LbLZDKVSASHEiiUe7dsIS6+vgRFyg2HnYETb0JGtHOyx+dqCXC6DZSlqtQae57e8n9Ya\n1/Vw3VUhl1KuCLkQgrGxYbTWK0Le/LnbkrDSer5Jm8HI7XgDGQx3IEa0DW2J281sfXlRepRKeVzX\nZXGxnvixYRjSaLg0Gi6ZjMPCQhmtNbZtY9sWxWIey7IIw2BFwF3Xx/dbHwzS4E4/H3SqIQ8CMM1g\nDIb+MaJt2MR2djNTSpLPZxFCsLRUxffTi00HQUgQNKjXGyu3WZZatshtcrkslqU2WeNB0DnRzdCe\ndkK+d+8epqdnMTXkBkMyjGgbVkh7sEeya0eucNtWVKsNcrkoht3m3qld1/cDfD+gVmss7wMsK3Kr\nZzIOxWIeKcUmIQ/D3ZfotlNauQoh1pQIbm4G0xRxI+QGw2aMaBuA/gd79PPF6jg2uZyD6/osLFQA\nyOUctqOLmdasCDNEbvm1iW65XIahoSLAumz13REf3xld4aK4t950W5PNNeRGyA2GJka073LScoX3\nIlhNV7jWmnK5ts56TTcjvb868m6JboVCDtu2CEO9Tsh9398Rlu1OI67F30rIo/8G0wzGcLdiRPsu\nZXtd4Sy7wi1qtQauO7jkLxhMSdraRLcmSql1pWeWZREEwXLZmcCyFK67fW71naNpaVj8pvTMcHdi\nRPsupFTK0Gh4qcZl446/XOsKX1ys3FGWaBAEBEGwIdGtKeIOQ0MFpFT4/tr4uLeljWB2wuudZmzd\n1JAb7jaMaN9FNC1rpaIe1OnmUnWepNV0hQMsLdXumo5lvh+5yYvFHLOzi8tlZxaWFQl5qZRf1whm\nsIluOyOmPeh9GCE33MkY0b4L2M4SLiEgm83gOBa1mrsuLtyJQdV+bzdr4+PVanSblGKl7Cyfz2Lb\n1h3dCGY7stjbCbnjRK1xy+WqaQZj2BUY0b7DaTXjOnJlD37Ah+NE2daed+e5wtMkDDWNhkejsXqg\nUWo10S1qBKMIw3CTkCdhp5R87RSi0jOJUhLTDMawWzCifYfS2boe1Dd35PaUUpLPZ5YbpGy/K3w3\nWu1RIxiXen010W21EYy10gim2Yc97sSznUCrkq/tYuNeOnV1W76HaQZj2FaMaN9hxHGFD2bAR/TF\nl8sld4Ub4rGxEQywIuLxJp7tlJj2ziGO92GzkJtmMIbtw4j2HcT6GdedSH/+NQhKpRyeF7C4WO3b\nkhr05LA7hY1u8k4TzyDyOkRJiNsn3jvZ0k7yuCamGYxhKzGifQeQtJtZmoLYdIVLKahW6ynWXA/i\nYLGdbM1z6dQIppnkNj4+uq2Jbjsrtp6e98E0gzFsBUa0dzHbmRUOkM06ZDL2Stx1O6233cH2vD7N\nRjBKSXxfUS5XlhPd1k88C4IA34+mnTU7ug2GneOm37oDhCk9M6SDEe1dSL8zrvtNzGr24Pb9VVe4\nbW/dW2l12EQ8+vEs6CCA6Wtw4xL6xmWYuQYj44hDJ+DgCZg4iNg15UGrYtlt4lk+n0WpjY1g0pl4\nthVCGboejVcv0bh0jdzkCTLHD7fZy9a66rvVkA8NFSmXqxghN7TDiPYuo9/BHv0gpSCfz664wgeZ\nqdxNaJN92cZztWut1wj0JbhxCW5dg2CDxXn1NfS3vxL9t5NBHzgGB08gDh2P/s0VYu5ra+kmlls3\n8Sw9S1sHAY3XrlD7zgVqU69Rm7pA/TuvUX/tMqx5f9r7Jyg++TClpx6m+OTD5M4cX36OYtsntq3G\nwQXZbIbFxSVjkRvaYkR7l5C2KzzpOmtd4WvriZvs9sQxefsqPPdF/Gf/LNkD3Qa8/h14/TvLMiQQ\nDzwKj70T9h8bwE63ju4Tz7IMDUVfIUkmnvVraeswpPbFp7ny0d9h6WvfRq/p/94O78Y0c7//aeZ+\n/9MAWOOjFN9wjom3v4Himx5DtrHEt5LodVl+F8Xu6maawdxtGNHe4di2JAzDVAUx+vDH+5BbliKf\nzxIE3bLC004c25pENFFdxHnhaewrU5SXUrD+9h5EvvIc+pXn4ewT6De/F/Kl/tfdIaxPdKsBvUw8\n693Srn/9WZY+9Z+oL4SUv/iNnp+HPzPH/B9+lvk//Cyj73wcOVLg4E/8fZzDB3pes1+6eY/a1ZBL\nqYjE23A3YER7B6MUDA3lUimhSoqUglwug1Jq4K7wbcH3cL7zLPb5ryACH9cuoq9/u+9lVS4LiyDQ\n8OKz8Mpz6Ke+B/1dfzGFTffHoOK3cSae2ba1Uj/eywHUffnblH/r43ivTAFQWRxPZ/NS4t68jvet\nW3zny19j4of+KhN/6/1Ix0ln/QT08vcxbvK7DyPaO5BBZ4V3c2U3XeGNhkelUk9lzaSkud7GtazL\nL+G88GfIWnnlNreaQiOYoVG4dWXdTcKtI/7s91iY+iq89fvg0On+r7ML6DTxLJfLYFmKvXv3dJ14\n5l28QPlTv4H73KpVHRb2sPTZl1LZ5/CTD1CbitbS9Qa3/u2vMf///DEHf+ofUHrLk6lcIy47qX7d\nsHMxor2DaDXjOu7Iy2S0dj2vdYWXy9WEJVw7ua462pucu0Hmuc+gbl9d91tfOYQXXu37KnLPBOL6\nay1/F9y8Ap/6ZcSZc+i3fh+URvu+3m6jOfFMSoHrCiqV2hprfP3Es8ql15n5jY9R/dLnNr35a9V8\nah8IKTd7kNzL17j4oz/J0DvfzIGf+Ps4B/encq1uGNE2xMGI9g6h1WAPWFueld6HeaPlKYQgn49c\n4bVaHc+7w1zhgHj5WXLf+P8QenOmcCNwoN9SJieDmLnWfR/nvwWvvRQJ90Nv6u+aCdkpTU2aLt1W\njWAEmup//RQL/+WTLf8m2smy+Ln+wxgA2TNHqbz0nba/X/zMFyg/8zX2/vBfY/xv/iDStlO5bjt6\nF+2delg2DAKTvbDNSNlesAdLdMFMxmZoKE8QhCwuVnoW7PSzx9tb7s2GINmsszyhqQOBR/j076C+\n/umWgh0KSXC5tXWcBHHwGMJrdL8jIHwX+ZlPIf7kkzCwBiYtr7wjRBtoKU7B/Cy3/8U/YeFTv9n2\nEBVmDxNW44VsupE5tKfrfXS9zs1f+lXOv++HqH775VSu2w5jaRviYER7m2iK9UZ3+EYGMaGq2X96\naCiPbVuUy9V106R2Aq0OAVIKisUcuZyD1ppsNsPY2AgTE2OMjJQoFHI4jr1a91pZIPfZT6AvPN/2\nOg1Vgnq1v80KiVyaTf6wb38Z8Tu/BEvz/V0/EdsvCq0s/sZz3+D2P/5fcF96oe3jtBDcfvZ8Knuw\nxoapT7W3sjfiXrrChR/6Meb+6x+lcv1WGNE2xMGI9jYQR6wHRdTAIbJQazWXpaVaSu1HBzv+MpOJ\nYp7NgSSVSo35+TLT07Pcvj1Pvd5ASkmxmGdiYozR2gyFz/4GauFW2zVDrfGud3dpd0McOoZYWujt\nsTcuIT7xEbh6oe997B5Wwz06CCh/8teZ+4WfJSwvdnxUUDqCd306lR0Uzp2OVd+9Ft1wufKhD3Pt\nw/8GPQAPSS+iHd3fuMfvJkxMewvpJSs8TUs7k7HJZp3ldpRi3XSofhmUgaCUpFDIEoa6bXJcGIbU\n66uzp+2pL+O8+HlEl015zjDMX2pxUQu5/wBqaJRwcZ7g+hXo0DVL6v5eR1Etw+/+W/Tb/hKce0tf\na3W8zo6JaUf7CG7PMP/Lv4B3Pp7buXyht4PRpuvbFv7VK93v2Ibbn/hd6udf5ei/+udYYyOp7Aki\nT9JO+PsYdjZGtLeAfkq40ogVK6XI5zNorSmXawgB+bzqb9EtIGqfaVOtNuIdMHyXzNf+CPtqPLdn\nWF4CZWEdOIwaHUNmbFToIeuLiDAEvQQlCz1ymiA3RBAK/MUywbXL6GolWmTiAOL2jT6eZYQIA8Rn\nfxd96wr6nX8ZrEF8NHfKoA5B5SvPMPN//iK6shTrEWFxH9XPbA5zOPtGyJ85RHb/MFbOoj69xOLX\nL+Deah9yGHrD/dReerHn3QNUvvotXnn/j3DsIz9L7uxkX2s1EQKCYCf8fQw7GdHJHTM9XTbvoD7o\nd7AHQD6fwffDdRm28a8fNUixbbVO+CI3cpbFxT5juWvIZBykhFqt/9h41FkrSxCEy8MTNuO67jpX\noqhXyH7+t1CLt7uur6UiOHQKuXAbWV1smaDW8fFAmCsRqCyer+Hl3jtztVx/3xH0e38ISulZcRAN\no/A8b6W3+HagfQ/3v3yCuf/2XxI9rp47SbBYJrt/GLtoI3UDyrOtRV8I5J69BHaJ+q0qC19/FffG\n3MqvS4+foXHhYp/PZPlSGYdDH/ogo3/xz/e91tBQAc8LqNWSJdpJ6ezoJisTE6Wdu7ldiBHtAZHW\nYI9cLrPccSqZaDdd4a7rb/qSjhK68iwuVvrb3IbrSSn7EoTmQBIhxPJYSNF2Pdf11s0sdp5/Guf8\nV7peIzx0CpXPEpQrqOnLPe8VIMyWkLgE+VEaly6jZ/q3uFc4fALe9v2EE0dSW3J4uIjrbqNol+co\n/9avU3n6s7EfkjlyhMKpYyw8+9W+Mu3lnr2EzhD1Jc38Z5/tGO7ohT3vfx8H/uEHEH14SIaHizQa\n3rqGNHEwon13YRLRUmZtCVc6n6NkiSZKSUqlZlZ4reUX9E4c7tFsruF5fvLGLr6LffG5jnfRY/th\n8hyOrcH3kDNXO94/DmJ0HKE1VmWW/HgJ++En0Jls3+sC2CMj5D7/29jnv5rKek22K2YqLr6E/N1/\nS/Ur3Q9WAPa+vYy/802MjArcSr3v0rjw9i24/gojRzIce9+jlB4509d6G7n9id/l4t/7hwSLvcfd\nTfa4IQ5GtFPCthW2LVLPCo8rsFGcOkOxmKPRaGaFb93IwV4PApalGBrKo5SiXK7G9iisvZZ98YW2\nNdJhroC871GsoQJWI2pbGrhhYpf4RrSTQazJTBc6JFObpXjPGax7H+xv7XwJqzwTrfn8Z8l85Q/A\nT6HN6nZkGYcB8pk/xPrvH6fSUKu5AG1Qo2OMvfPNjB3Io2Yuo6Wifj6dMi85tofw8gX0zHVGR2oc\n/sG34YynF4LIZGD2Q/8Q58aVTeWHcTCibYiDEe0UUApyORvLSj+5K44YOo7N0FABrWFxsYLrdrZK\nBlH7ndQjEB0yshQKWWo1l0plfelZ7EOA1tivfm3zzUISnrwf+8AhZG0+GuABBEjkdO+Zw02Ckf2I\nYLOQCrdKVlcpPvEk6uDRnta2j51ChGtmQV9+idzTv4mopFHPvYWisDSP+m//AfX85wk1LJ2/2Pau\nslRi9O1vYvz4CPbMpZXmKvXseFehj4tz8OCqW1xr5I1XOfjkPva+96lUTtqqJPBmprn4kz/Owh/+\nNwqFHBMTo4yPjzI8XCKfz2LbVttL9SraO9k1bkgfkz3eB+uzwgdVp6xpd7ZSSpLPR+7YpaXapmEL\nOxXHiYZGuK7PwkJ/X8jq2nlkZb1LMhzdixrfi/I2J7EFoUK1ENskaKlQtS4CujhDdsghPPgUtRee\ni93ARSsLyy1vul0tTJP/09+g/sR7Cfaf6GXbW1ryJS5NoT7z24hG9Lzr1jDBzRZDPjIOI294DKc2\ng5hdn2Oggdql/sMYACKXJby2ubwvrCyRZYljf/lxZqdmKT/XWw/67KnDq531fJ9b/9cvUf728wz/\n7Q9g5/NtJ56tji4NjKVtiIWxtHtAiM0NUgYVJ261rhBRglrkCvcol6uJBTv9Lmvdn3+zo1km47C0\n1DrevmZF4ljuzivrrezwyBns0eGWgh0iYvUH70YwdhDp1rreT2iNKk+TmzyDte9QrLWtE/e0XVt4\ndbJf/F3sl7+0MwquWxGGyGf/GPVHv74i2ABL1zZ3jMscO8rex8+Smb+CaGzOmHaL+whn2jfHSYJz\n4jQ02v/N9PQ1Rvc0OPyDb8MaTT7/vHTf5r9v7QtPM/NPf4LG1SvU6w3K5QqzswvcvHmbhYUlfN/H\ncWxGRkrs3btneWBPjmw20709r+GuxVjaCWmfFT5IS3t13aaV6nk+i4uVnr+7t/pE3xz3Wa+7iTPh\n2yFnr69M7NJCwOkHcbwlaHN+8bFRjf7K3DSg/O6CvRZVX0KND1ErDRG80nmkZDaj0B3OMgJN5sXP\no+ZuUH/8PWAnmfs8YDdqZRH1p/8Zef3iuptdVaCx4XA1/MY3kK3PQIcSvdp0Su1dpYT5GJ3Umi7z\nNx1iYVax8Ey8wSRqqIi+frHl7/zLrzP9oQ8y+vd+nOxjb1i9fXniWRMhBOPjo4RhsGni2dqfzXkq\nxjV+t2GOczHplhU+KA1sWrBRbfWqlVqtNnaYsdX60BIlmhVQSrK4GD/RLI7lbr8SZVaHuQLinoew\nvfaNOkKtEbP9W23h2AFkrXO7zZb4LlnlYp97At3mi1YcPoGOUWcOYF1/hfxnPo66EX/YSeQeH8Cb\nJgyQz38B61P/epNgA5QX/JUPiMwX2P/dbyW7dL1jcp2XH8O/tHmtXnBOn0EvzHW/Y5NKmeHcIvu/\n/82x7j7yxrPoRvuTlq5Wmf3Iv2Dxkx9Ht0kObeaZrLbnnWNmZo5qNTog5vNZxsdHmJgYZWSkxNzc\nDN/85jdYWorXnCYOt2/P8OEP/yw//MN/Y+W2RqPBL/7iv+TjH/81fu7n/jmXLr2e2vUMvWEs7S7E\n7WYWDeFI/wyktUYpRamUo1Zze2qy0m7dNGNoG5dpNnaxrMGM+xTVRayr5wnHD2KNDCMbm+PA6/Zn\n5ZGVFi1Lk163D8NGAJn6LPLRJ6h/+3nEBnetPTwMi/EPFnJpjtwXf4dg/0nqD74dXeo+tSptxMUX\nUV/+fxELrQ8bgbSpvRh5F7KnTzI0UWhrla6lVk0vP0P6bjvnS3vCEGf+Ikfe/1au/t6zhO1COUoi\nq7e7r681S//1d3AvvMKeD/5vCCez6S4bcw7CUNNoeOsOukpJbNvi8uUr/Mf/+H/z0ksvMT4+wdmz\n93Pffffzvd/7/WSzvZUdPvfcN3nLW97O+fOrHQV/67c+wb59+/lrf+1/5tVXX+HDH/5ZfvmXf6Wn\n9Q3pYES7A0lGZg4ipm3bFvl89OFeXKzumiQVx7HJ5aLGLmk2cFmL9crX0EfvwZY+wu/ejEIvzvXt\nSAyGxrGW4lnCnbArt5H33kP92k309HJDltEJVALBXou6cYHCrYuIe99A+MBb8KSN5/mDfb/MXEN9\n6Q+R1zoPOil7ObTnMvzmp8gu3Yg10SzIFHFfiD+BqxPW0WOEN3tPZhPXL3DkvQ9w89mr1C9tbp4z\n/NQDhHPxD4PBzHTLkEbcJMEgCAkCl4ceepiPfOSjBEHI5ctXeemlF3jllfMsLMyTze6PvZ+1vPOd\n7+brX1/fF+CZZz7P3/27PwrAqVOneeWV81QqSxQKxZ6uMSj+wJ7c9i/H93pTWxKrMKLdgt56hac3\nbUdKST6fQYioI1gm46T+Bdw8ZKS1bLRelGgmhEghm73D6+m5WCrEFm6sCqZAZRGzKbj1sllo9OAa\nb4GqL5GfGKE+PErwyktYBw8jFm/2vmAYol/8EuLVb5F79F0MP/hGNOB5Pq4bZSmnknNRXUQ9+2nE\n+a93HcgSIqhfvcb4O55EJWhmUyMPYTqeGauQJ+zznKVnbrD3gSEWDo6z8KX1o0MzRUGQoJ9K4c+9\np+XfoVevl2VZnDp1mlOnTid+bBzm5mbJ5/Mr/18oFJibm9txoi3suye2b0R7Dds92AMgl3NwnNWE\nrcFlkTZFMR3VzmSs5XGfjVQSzTq9nmr6AnYtfoxSVyp9H6fC/DBqIZ2xkE1E4JFV0HjkSez5PgR7\nLY0awTN/QOWFZ/Af/i7U0cmVXu5RmKWA67rLQt4qsakNvof81p8hv/U5hB+vv7w/fIDRAyASCHao\nHBrfScfKlnvGCS+nNPK0WmE4XyP7l97Mzd//AgD5yWMEV+MfBkUuT/7t39X6dzu03Gt0dIxqdTV5\ns1KpMDo6uo07ao20jGjfdUjZ32CPfhuW2HaUFe77wTpX+FaWkvVCVKaSJQxDgiB5j/TE6BDr+lTs\nuwfCgen+O2rp4jBiIVnWeBwEYI/tQYyPoy+8jIhRShYHWZ7F+dxv4516mEa+RHVogtKx0zSW+1Tn\nchmGhiJrqVkr3PzRWkPgoxanUQs3UfM38V79DuL29VjX1giss4/Aq69GY0cTUM+OoevpJDs5Bw4Q\nvpaOZwSAMCSzsBrnLp7ZR3Axvpmdf9u7kLlcy9/tVNF+4xvfwgsvPMe5c4/w6quvcPr0mR1nZQOo\n3M6fWpgWd71opzXYo9c1mkMypBRUq3V8f6NbcGcOuRdCkM9nUEpRrdYJQ02xmE7f7U6omdeRbvyy\nraDWoN+Pc5gp9Bxv7oYWEoWLdF2CE6cIpqeRs+lY3drJ4tx8FRFGpUXBN0BlCvhDE1SHJwiH9qLH\n9mMXStj1MvmFm4jZGwQzV2D+1kr3MNcuxhfsfIHMmfsIKhW4lSyWrKWk/ko6lrEoFAmvxM+sT7T2\n9Qsc+YHHaUzPEduJLySF735v+1/3LNrpfTd84xtf44//+A+5fXuGj33sV3j/+/8n/spf+UF+6Zf+\nNR/72K9w9eoVfuqnPpTa9dLEuMfvAvpxhbci+sAlWyxO7fLgLO3ePQOriWYelUrUFENKwVYcLqxr\nL8e+byAs5Ez/X9zhyDhqPp5oJV57/wlsP3oNlVdHjo7gFYeRl/p3EYdj+1Eb4uSiUcGermBPX1y5\nTUuFCIO2GdCiS1vclfsdOk5uuIiszlGZTl6K1MjvJVxMpwNa5sQJwtfie2SSkpsYo5jxWdrzAEvP\nvdD1/plzj2LtP9D29zvB0n7kkcd45JHHNt3+wQ/+5DbsJhkqd/dUL991oq2UWC7PSnfdZiJWHGxb\nkctlCYKga1b4YPqE94aUkkIhsqbL5cEOJGn1vOX8dWQ1fsONwA1Q/Q4GsTNY5Zm+1uiEtCSsOa8J\nHeBY4N3zMJx/rufBJlpIVD2ea1p0SPoKVBbv4oUuxzGBdfZhHK+M8Gp42OiEsWStoXap/251ADgO\nuo+M8a5YNmrpNqJRo6TqOO94E7NPP9Mxq7Pw59tb2bAzRHs3ozJ3j2jfPc+UyBU+OlpIXbChKTKd\n7yOloFDIkctlqVbrVCr1bfugJjlkQJQgVyqttk3dKNhbMe7Tuta5m9haAqGQt/qblw0QjO1rORgk\nDYKJIy3brQLY/hJi8iHCXKGntcPxQ4nCCO1wA9U5S7xQJP/oG8h4iytDWRrlRuKyBLe0l2A6nbBA\n5vQ96Gp6TUc2kr33XkRteX2tycxfYe93PYUsto71WgcPk33okY5r9iLavXj37lSkEtv+s1XcFZZ2\n2q7w1nT+ADVd4Y2GR6WSfkJTcuJ9QTQTzTYmyG01ojKLWoj/pR54oPosG9LKQlUSdNJKiMgXoENT\nGMtdIjxyHH92DpmwZ7qMH21tSygU+trrbd/V4uAxsiMlxBpPRIDCuxD/cNWkdivFlqUxu8r1is3m\nQ5yaucreh08yd22RxoWL637XzcoGY2n3i7R3fiLa5OTkfuD/AM5NTU09sXxbFvh54CpwBvjw1NRU\nx9jYHW1pb/dgD1jfxrNcrlLw2Ve2AAAgAElEQVSvxyuXGTTdXgchBIVClnw+8gpUq928AoM99VtX\n48eyQ5HO+M1wz0Fkmznd/RIM712Z790J6Tewh4uEx8/GLs4LR/amcthwVb7lnHItFerso+SKNtJb\nfwCt1kLwkr3HvcI4/uWUMsZPn0HPDU607VOnEW36mIulecbGFENPPb56W75A7i3v7LquEe3+2G4r\nO6al/Rbg91n/RfnjwKWpqal/AXwE+NWuz7WXF2g3sFGsV9maGPFG0atU6uvmRSdhq+dfZzI2Q0N5\ngiBkcbHSIqO91R7TPQytXU/Ul1Cz8btO+YHaXEssJMHYfoLjZwkmHyU4fIYwm2+9AFFMWNZTLBfa\nyEj8lqNChzjSRdx7jnD8YPcHZFuXFSUh1BBOb+4AJk/cS+7s/WS9hU1u8xCB/1ry0ZZeNV6iWxxk\njO54/ZAZ6hKu8D0K9VuMv/vNYFvk3/FuZIy2olKKxI2OhBAIccd+hSdC2XLbf7oxNTX1KWDjSf29\nwDPLv38eODc5OTnUaZ07zj3ezRW+Ggca3Kk2k3HIZpuu8M0jB5OSdveytWuupTmfW2s98ESz7qwe\nKqzrU127bzUJtUDM3SKcOIIujSCyWaQSCK+OvZLU5UIhgy6cJLSyaC3Q1Qpi9iZy2bUa7jmIVR5M\nmVeYG4plZW/EcivooTz++CPoS68iq5sPFWGuiCr33wTGc0qI8ppkrv2Hyezdi1VbgDaVDjXPgoR1\n2X5umOq34ntROmEfO9FXy9JuqH37kdPx1rdnLrPvrY+i/9x7Yt1fCAgCY2n3itjCmHLK7GW9kC8u\n39bWYrjjRLtb7HqQCVNaa4aGCoRhuJysldaHcPAHjVwug+NY1GoN3JglPhsZiAfDa6BuxctE9op7\nCAqjOIXistxrCGq0C+8KQC2XW5GRcOAA4aGjhNKKpjYNSLT13kOIHtuhCsB2y+iDB/A4jnjtpXWJ\ncnpkArGw2UJOSrBYjl7D0ij2ydPY1VlErXMjEfdy8oEsNVetnEatPXtwDuzDGR3GyWewpEY0yhAE\nUNpDo+pRef0KtQsXW55gVdZOPhgkAdnDB+FmfDe+HN+H2Lsv1n0j9/h2HpJ3N9La+THtNtwC1g5w\nH1q+rS13nGh3YxCu5majkahXeL1n0WvHYA4a0evQLD9LI9FsEDE568b5leYgba+bLeIfPIPnuWQX\nb/UVWZehR5AtYosA/74nEFdfQy2mV/Kl7SyW1/8QFREGOFQJT03i1xrIy+fRysaqzPa9tmfn4cZl\nrAcei8q4qt3XrIUOJBx9Kk9NMhSCOvwmZK28HD/3wbsNG88HjStkgMyEDYcfgtI4japL5eIVaq9d\nxNq/n/DKxUTXT7TXYgl1O2FJ2mPdY9lNTEy7P+K4p3cofwC8Efjc5OTkg8C3pqamOp7o7zjR7iZw\naYt2JmOTzTrLfcLDPodkbC2OYwF2m05s24vWQOBh3WjfICMUFo0DpwmVQngNZBAivP7CERpWaqMt\nv4bedwB/31HUay/E7rndiXD/MVSHud9JkX4dxwb/3ocJGh7y1sW+1gvzQ+jcCPnTDrIRP6O7cSO+\nYGfvvR9rdAiv6kIvTWQaNWhcjkR8rw1Hz8HeY8x/+St4M4Opqc+eOQPTCZLlDhxDHD4Z++69ivZO\n6eGw3YhB1PGmzOTk5NuBvw4cmJyc/N+BXwD+NfDzy/9/Gvjb3da540S7G2lZrUop8vnMuvivbQ/m\n5RzEQSOTcfD9gKWl/mt5m6Qdew+vvNxSKEPAmziJnysgdIBAo7XGTmFsZpAbQfmrr4lAY+ESnrqf\noFLFutJ7ly0tFSocTPWAcpcQxWFE9gShlSPUAtwGYmkOuTDTMidAO1nCkb3ofBFhWcjARQQBmVtX\nEzV1aWgHfa27oKljp8gf2o+qzhE0quhrl1OpN9DKRt16jbHT+6nfew8Lz3w5cqmnhbJQlYTvrcfe\nkejuxtLuj91gaU9NTT0NPN3iVz+aZJ27TrT7zR5vDluwbUW12sDzVl23O6l7WSvWJprV6+4AM9L7\n//IROiB4bXN7SG9kP97IPgg8hF79YpahRvr9J/21UxEZesicTXDfE3D9ddR88nh3uP8EdjCYGn2/\nuAfLjSx45VWjfusSGCqhh4cJrRyWZeHVG2BZSO0j/Hr0BRDWYfks4YdW4i5y9ZnOFrk6fJzs0UPY\n1TmoRqVobmgj/HSa1ojRccT0ZfBdcv4MzlsfZ/HqHI3z6UwLy953FjGfIMGtNAqTDye6hhHt/hBy\n537vps1dJ9rR56K3P3DTFe66PgsLm+OSO7FPeJONiWaZjL1jDxi2bZG5/RpBY/U1DhG4R84SoqPO\nKWvQWuOkEMvVxTFUo7PrWvk19MQ+/L1HUK8+F79bmhAopRlUplTHmnsdorwK2lv+wLfZskag5pIl\nsXnYhJdal3nJ/YfInjiOU1sVawAtLfTV9k1bkqCzBdTs+r7wammOkWHw3vU25r/2LcKFBAOvNyIE\ntk54GHz0bQiZLDGqN9HemZ/f7WAXJ6Il5i4U7e7tRjcSvxRqMA1G+jkM2LZFPp/B83wWFysrrutB\nHDD6dY9HCX1ZpATv1W+tvJKhnaV+6F4IWruWZahRXv8WbBCGsSaCCTSWbhDccw5x+RXkUvfYrzx8\nGtq0LO0XPzfc9bARhwAbO2HcvrpQhY2WuZMh9+gTOPU5RIu5575VQLgpeEUAxvdHVvYGBOAs3mDi\n7DGqOkf5y8/29MbMTd6LWEjgVbEz8NAbE1/HWNr9YSztXUy39300LCRe/EMIll3h8UqhBuceT34Y\nkFKQy2VRSlCp7PyRn2sT+uqvn8dZHnbhD03gjh5oK9iRld1/9y8/O9S2D3g7lF9HHzpOsDCPunGx\n850tq62F2y/adiDoMwFPa2TCLHkfRfjai+tukweOUDh6AFVv7fkIEfhX0+l+pp0Mar5za1vh1SlQ\nJ/uOp1i8eJPGa8kGmTh5G53kPPTgk4gOTXvaYUS7P4ylfQcT18JcHT+53kJNY+2kJF13rQBWKu3E\nbjBlZElj2tHksAwgVrwYmauREASHJnGlBR1KvoQmsdi2RKm29dydEKGPKpUQw4+ip77e8j7BxBFk\nbTDd1QInj0qhc1sgs9j1ZONHq5UA1sSlnUeeICfqiA5Wv2eXoJq8nrslE4cRM/GGwqjybUYmHKr7\nnqT8pS/Heox99Bg6yUxwIeDRt8e//7qHJu+IZlhlNySipcVdKNqdreGmKxxgaamWsIRrey3t9W78\nOM1d0t1r0oNAq3nicu4a1MrUjj6E1j6dDgBaazKpWNlFlNtP7bRGhy7BfU8gz39zU4KVKhZhQKId\nZktY9f6HbYilZPsLEQSvRYleolAif+4cdnW243ktRBDeSKdjmVY2KuHIVBGGFMI57He9jdnPPQNe\nZ9dHZnwMbsU3szNnH6N0+gye5+N5Hp7nxy6ljMJKyVR7p+akbAe7oeQrLYxoLyMEZLP9dQUb1Ek5\njhg2E802ZrS3XzN5bD8tlIrmcgeB3tTQRd5+nfqxBzYlm7VCavoU2+aGnLbu90TL+DWCM+vj3OGe\nA1iDEmxlo3rsrLaWQDpYS8kah1TrEupV1IkzFCaGkDEasLhWAZZSsrL3H0HM9DYUxlm8wcRbnmD+\n+e+0retWE3uRLWLlnWg8+CbChSUcx8JxbAqFPFKKZRH3V8R842E67RbFdyPSMqJ9V+E4Frnc5mSt\npCSJlydbl7YzwNslmm0fnU8CnQ4Xul7Gy5ViCXZqsexMEeWm1+xE+XXCQ8cJ5uZQt16H4gikIKyt\nCAqjWPU+MqOb1JLFw0PAu/Qa2SfeGM3RdrsnAYZaE073162uiZYKWenveavyDHvuO8rcjVEa589v\n+n326BG4eTH+gvuPIo6cxvd9fH/1fR11HbSWP6dZbLuI1hrP83HdSMSDIDDx7D4xlvYuJk4iWtPS\nVkqSy0XtR5O7wltfezDWq2bjQDYpm5nWgqWlOkHCZhKDSJrrZL2vn8vd5nBRvgU63vNQWqRjZVsO\nuOk2PJGhjx4u4Q4/Rqbcfx/wVmghN43F7IVQWKj5hBalKlC8/z6sWny3vOcMIRb7H5cKwL6jyNkU\n3Oy1JUZGLapPviHKLl8malmacP0n3tXyZq01ruvhuh6VSvT3Ukpi2za2bZHNFlaaMg0NFVbEPN7n\n2bjHm5hEtDuYplit1i27uG5aab1bU/LVnCJWr3s0GjtjPnc7mq+1ZamO7VJ1owJxy5a0xkrFyi6l\namWvRQDB6D6qIxPkrr2EDNLtR+8X92ClYMGHXohKkDjo7T2OPT+NqiaLowczM+lY2UIg0zisLSPC\ngALzWO96G3N/9kXwfbL3nIFbCTLch/fAPfGbqQRBSBA0qNejMaKWpRgZKeH7QSK3+qD4zd/8da5f\nv87IyAiXL1/ip3/6Q2Qy3ceLbit3UXz/rhNty7KQUiAEfQ/I2MhgLW2xEgsOw7iJZh1WHGCddpNm\n2KGZgd+RcufSnbVI0rKybXAHM385sPPo0EMA1UNnyd++hKz0nzAG0bvB6iXVfQOhkFgxm6mEQuKd\neBDh1rESCnbDKiISWvNt2XcUOZcsyz0OmcUbTLz1Dcx9+xXUYsLRpo+/oy/3rBCCMNRUq/V1tzmO\nhW3bK271MIzc6p/5zJ+Szxc5efIMuVy6X+G3b8/w8Y9/jD/4gz9BSslP/dT/ytNPf4bv/u6/kOp1\n0sZY2ncgUsqVSVwA1Wr6X9aDqtPWGixLYtu52IlmMVYlfa9AtGbTdR837KDdKtRjzmHWGnuHW9kA\nbnEcEUYeHBH61PccQTkFMnP9u3WDwhiq0f+hJQwUqssENQC/MEJ48AQqaMDt5IIZzM6mY2UjkP5g\nDlkQxbnH3vIk3o0bBJdi1nNn8/DAU31dt1WNttaaRsNbqaqAaN6BbVu8/PJLfO5zn+PChQscP36S\ns2fv581vfhtPPpm8qctGstkstm1TqVQolUrUajVOnIg/+GS7MKJ9h5HLOTjOamnRyEhxYNdKW7Ob\nCSxa65atU3tlUF4B244GqSRy3S/Gt7IVApmCYA3Wys6tWNlNdBjgFYYJskWy16foK20mhT+cRqDm\nu1vZ7oFTiHweGTQIvBCnnGxwRsMqIuZe6nWb69l3BBljz72ihcTWDZzRLPXRx3G/9dXuD3rkrQgn\n09d14zZWCYKAIAj4q3/1b/D+9/91XDfg/PnzvPjiC1y48Goqol0oFPnAB36Mf/pPf5o9e8aZmNjL\noUNH+l530JiOaLucpiCtZlb3Pys63nXTs17XWqu1WmN5jObORSmJZakENeIR2qtB3OYgacWys+lm\njG8ksrI3W7AC0EpRO/IguWsvI+P2LV+DnxtJZe9aOCiv/aEllBbeiQdQ2l1JDpSz8Q9XTYK5udT8\nOTIcUEu5JodPIhtRVnqOJdRTb6L29a+1P9wpCx55W9+X7bUbWjab5dy5hzl3Ltlwkk6cPz/FJz7x\ncX71V38Dy7L46Ec/wsc+9h/4wAf+QWrXGATiLrK078g8eSkFxWKOXM6hUqlTrdbXfSgG6cZOY91s\n1qFUyuN5PuVylSAIBpTpnc6a2axDsZgjCELqdTdZrH07rGzl9L9GGwLLQYdd4s06oHrwPrz8SOL1\ntW33uLM1a2hQC+0bk/jFMfxTD0aCvUzoa6wkPbgB1y4iZtOxjPXeI8jF/kevtl0fUHL9+9apzlJ8\n+BxyfF/rB93/BkSh1Pe1e29hmv532PT0NKXSEJYVGQl79ozjplxdMQiEENv+s1XsbPOtR4rFHK67\nPh60lrTnPq+u21/DkqgsKkMQ9J9othWs7jdkcbFKLueQ5ItEe3Woxay31RprabWBR2Bl8XPD+E6e\n0HLQQgJ6ua1pHbs6h6ovbDqVDt7K3rtuZGg7hPZpjB0iyA2TvR0vUznIFLFSaVmaQdZaN1PRx+4D\n20IG661LMZcwOQvw5xfSs7IHNR6tyYHjqBZNcFR9keKRfVTH9uB/Z22fdQFPvDOVS/fSwnRQQvHk\nk2/kmWe+wEc/+hFKpRIXLrzKj/3YB1O/TtqYmPYuZ3Gx2lE8V63MtEWxN/f42sEkLZuODMgz0M+a\n+fzm/SaOkyfIGA+dEvXRPKG0ovGc66xZveLC1YBvO/jD+2BkPyCwAg+nUUYuToOyU+l+1opA2mgd\nxn4HCDRBrsDSkYfI3L4czZvuQJjJI1NopiIXW0zeGtlHMHEwSjbb4CkQyMQZ265VQMy83Nc+m+iJ\nQ6iF5IeGJKisA5XWXhwRuOSz0Hj8KRpf+3L0Rj99P2KsjQWeECl3zrAQpRQf/OBPbvc2kmOaq9zZ\nDNY9nuwxa8ui2iWaDXJOd1LS6sCm/QbEKB3ynBJle5ySdzsS5hjZzqsX0YDGlwo/N0JY3IvUIYXZ\ni8gk68TELe1F9GARRlb3AdzRg2RvvoJqkSEdOLlUBoP4IoNdXbWyg8Iw/oGTyLARCXYLwtmZxF8U\n/mJ5fSJeNocYmcAeGYVMBpY9XUGlgr5+GSrtn5sccJJRuPdQ14oEAWTdedSTT1F7/gX0E9+V2vWF\nYMd71XY6UhlLe1cTR+S2uxY/aVnUdhPNus6glGoz6hMSeRq6xLIDlaVaPEjFhRINSCEJKZQWYeiz\nMH6KTGOJ/EI6wyuaa2sRTR3rBQEgNLUDZ1BunczNV5FrPEFhdiidwSDVqLQutLN4RyaR+KiwQ0Ja\nCNbtZJ3MvKF9qEKIPHgIiUb69dVSLV2D+ppObgo4vJ8gc4oAi6BcJrxxGVGLDrB6zwHUfLJYelJU\nsQRL8eLldnUOnniK2uFTqV0/qtPu4bC33V9iO4i7KRHtjhTtbqSZ5d0LraZbdWJwngEdKwmmOaY0\nGvXZvk91XI+A9hrQxhUcCkUlf5BKaIMbLep4/VuYIpOHZk9orWk4Bdy995JfvI6TgsvZLe1D6P4P\nXkKHhLZD9ciD2OUZMvPXCJWTymAQYeWQ5Ru4R88iHIWKcxBanEfEdKeEew4ixg/gLM7C3I1Eo05V\no4ICcEAfPUyYKeJrSVCrxRbUXtCje7ETru8deyDVPZhZ2v1jSr7ucAYlgmvXbvUhbPbfDoKtKUHr\nl4F5A1r049ZALX+AJXKsNTqGVWNVbPsgFJtjXlqHVEr7qBcnKM5d7LnVaCgswj6s7FYI7eMXR/BL\ne1DVRezyjb6OmaFQiMII/umHkIG7KW7d8jGhxoox6SoY2YceP4jyqwSNOjJml7V2CDSqUUYXx3CQ\neA88Qfid5xFussEmcZBj41COHy8PimP4E8dT3YMR7f4Rxj1+ZzO4dqOtM9PX9t+u1ep4Xv8tKNOg\nUxb9an/zeN6AJt1eV+3VN8WyPXuIeWecjWcCgcZKwcoO7Syh1z75LBCShbFTOO4ShR5c5u5QOlZ2\nK0I0XmmCemkChEAFHqqxhF2ZxWrTyjVE4BfG8HIjUaMXKRE6oLBwNVmN5+Jix+cVDE8QThxG+VWk\nXwVAdIhNJ8ayEa7GcRcJT9+DW/cRF17s/ri4DI+hlpLN5HaPP5z6l0dvon33WJaxMIlou5skk74G\ncPV1melN13Ks/ttbTjNMsPqCKSVXOrAlLTuLXtcuH54Nsexq/gCLOker/K1RuwF9HnBCIhHrjsZ1\nCnh776U4+zqWH2+C1iCs7HXr24XV5DutCaQiyA3j5oZBSITWSL+BDHwCJ0coFWwUWh2SSTgRLAzB\nmm49+zoYGifcexjl17CWxRogwMIuJxPBttcfGl/X41z6DbIW+A8+gX/1EqKHRi8bkXsPIhYSVDBk\ni3gH7un7uhsxlnb/GEv7DieaTz0o93j079pe5+mM/YwXf0625nqjYXXyWQPXTT+7OqrLjr6ItZAs\n5I9SD1uLvCREpBBr1lYulit45f46pDx6lFx1hmyle6xzsFa2QHdaW4doooYugeWs3LYRoTWqSznZ\nJsqbrWxtZ/CP3ocKai0PNWIphdnezbWs1k1krMYiamIUb//hyGXu91i+VxpGJnCLw7KVPQCLzoh2\n/5iY9h3OoGPamYyDbavEruXO6w6mIQykF2vvGnZYjGKdvpVjPnMAv4MeDckaeH0edACkSJQQ1Xxk\nLb+HwC5QmG9tbcIWWNlOMVmJWxtsv4ZI0JMgimWvf97+2EHE6B6soLXFHqASJ3S1wy/uWddIZyNC\naxx/CX3vWdxyDV6fSnwN6+BRRILYe2hncQ/fl/g6cTCinQLG0r7TGUz2uGUpLEvh+4NINNvsyu57\nRa3J5TJIKTvOuk5G69dVuzWoLVDPjrMgh1oZhCsoQlQj5tSvTjh5dB9zrF07SzBxD8Xp8+vKr1Z+\nP1Arm85WdkyE1ti1hFb20hIibDarEfjH70fhIzo0pUnTyo77BSzcGpkM8OibaLzwdYiZqKZzBcRi\nwlj20QejxjwDoBfR3mnlXuVymXq9hlKKXC5PLpfb0uvvBvf45OTkPwKOAzPAGeBvT01NJYtbcZeK\ndtqJaGtrmH0/oNHwUj85p71n27awLLXSJCUd2j9nXb7JUuFIVMrV5aUpiWrHteIQQk+1rxsJgMW9\nk5vi3IOPZRdXurz1g+3XY5dswXIs+1bUVjXMDREeOtk1vh9gYXewjJPgF/dgxW1t22TpNvbk/XhX\nXoe57mIsDhyDpfiuca1s3GMPJttTAnppY7pTeOGF5/nKV77E0lKZSqWCEJLx8XHOnr2fc+ceIZ8v\nbMk++plnvhVMTk7uB34aGJ+amgonJyd/H3gf8J+SrnVHivZWJqKtJppFNcxrZ3bvRKIDRhalBL4f\npBq7bnew8D2XBbkHN4aG2iJAuf1b2dpOFsvuuJYOKY8dJb80Q6YauYAHbmWnsZCmZyvb338Smc+h\nYiTkyXL/k9dW6NFiko0l7P37cQsjiCuvtL9jLo9VS9akxj18FuxsT/uKQxT22n2q/cUvfp4vfvHz\neJ7L2NgeRkZGcV2X2dnb/Pt//8scOHCQD3zgx5iYuJ/JyUkxNTU1uCe58y3tKlHniSFgHigC3+5l\noTtStLuRhmhLKSkUog9yuVxbseoG2XK03z2vb5Lirux/0CzW/FiCDVCif6s/RKBTsLLXoTXVwh58\np0Bu4drgM8bTsLKDRqKDhQ5B3b6Gd+rhKHYdI54eYHVtARoXvzSe3Mpegww8MnkL995H4OVvtLyP\nOnwyUca4FhL3+Lme99SN3j/S22sYuK5LEPi8731/mZMnT7e8z1e/+ixPP/2nvP/97zs0NTWVXvvB\nVuxgQwlgampqcdk9/snJycnrwBWgw+myPTvbpzAg+hXWXM6hVMrRaHjLZVFrvxh3Tl/zJlJKSqUc\nmYxNuVyjXnf7XrM1m3MFXC+gEbNsKysDRJva40S7sHOkPwwmwrWzVA6dG0xGIMtWdhp/FK1xaslc\n1mEoCI/d0zbZbPMlNHIxHbc4kEpmtkCTCavIB9+AttaPYNV2BpHwgOEdnERni33vqx1RC9PdZ2VL\nKXnrW9/ByZOnOX9+isXF1cNWEAT4vs/jj7+BH/iB/xEgRVdMa4Sytv2nE5OTkw8D/wh479TU1N8k\nimv/k16e610q2r0Jq2UphoYKCCFZXKziupszwwfn5eoteS6azZ3Ddf2WB4w0T+ytDgHlavu+1hsp\n0f/IzFAo9ACGgTTRSG77GeYKxwlVJv317Xwqbn079FaSyeJQLe7HwkX58buOhcJGxRj6Ege/NNGX\nlb0Ru7GAfe8D6KGx1RsPn0xWIiYEhcfeyfBwkXw+uzJjOk12a+a4ZVn4y50Kf+/3fodPfeqTXLly\nmWq1ilJq5bXK5XJMTU1VO62VClJs/09nDgGzU1NTzS+n60BPrs670j2eVKzWJpp1y7LWWiMHkBSR\n1CpWKnLfB4Fum8k+yM5wAA3Xx42ZkV5QPmG9/8+2tjKplEm1o2FFme9uANP2QYbFbbJ+el3AQqFA\n97l/Tdcxn00CZVMeOUGuMpNI5LUGmeK4TDGAWINyK4hDh3BLI3DzMlbCXAl3/2kqvsJxPWzbJpfL\nLieb+riuh+f5eJ7Xl6Xci2gPtjlUfNRyHPmBBx7iwoVX+ZM/+WPOnn2A06fPUCyWcBynywrpsQuy\nx/8IeM/k5OQvEMW0HwB+vJeF7ljR7iRIScQqk7HJZrsPy+hl7WTEP2g0m6S0ms09aNY+99hWttZk\nvf6trFBaA7WyQyGph6sfGQ3MW3soWlmK9f4nUQVWPp267NBFxhgG0siOUinuhcAj26IffCdCFHY9\nhbI8wBvai51CI51WyMAlU3BoPPgU8mr8+d4acE8+RhgE1GoBtVr0XhZCYNsWtm2Ry2UZHi6itcZ1\nIwGPhDz+33C3WtqwWnb2rne9m7/wF74XgF/7tf/Ar/zKv+Nd73o373739zA+Pr41m5E7W7SnpqYC\n4EfTWOuOFe1+Wd/Os5agfGgwNeBxDgPNJilRnXicWdfpntjXTk+rNTy8mF3gisqFRo+drdYQKmew\nVrYaatludYkCXu4Iw7WryB7maTcJpep//zHqskOgMnIMV2VAa4rVuWQJa5DauEyNQKaQdNfxGlJi\nZW38M4+gXnsB4Xc/0Ph7TxIWxzbdHgm0txwai2L/SikcZ1XIm9a453nLYu63/f7YzaLdtPj/5E/+\nO9lsjoWFeaanbxEEAVeuXOHf/buPcv/9D/ILv/Dh7NTUVPrTXtayw0u+0uSuFe1ObUH7aee5HZb2\n2oEkSZqkDOq7QmvNUi2mCGtNpsVQkEA6aLuALx10GGAHFZRfa3scGrRgh0LRCNt/XBra4nbuKKON\n61gd5lO3Q+SGwOu/e54Vesig/Tq+ylAeObZytBChT3YpWR/vMJTYjXRq+4ORfVhJW6wmxB87jBXU\nkKFHcOJ+uHEZVe7cva1x6rHY6wddrXGrrTXeu2hvv3u8+R3627/9n7Fti3379vOOd3wXP/ET/3jl\nPj/7sx8CGCWK4Q6One8eT427WLQ3twW1bUUul+2ro9ngZl+3Pgw4jkUul9kRA0mae6w1fPyYVnZJ\nungiS2Bn8YWNj8ILl4pdhKQAACAASURBVP8u4fIPNogswoGM1NjaxQqqKL+ykkkZSmtbrOy1BFpw\n2znIcDCb2N3vBimcoLTG6VCD7JX2seiMsDazvlidTW5l9zl6c2UtIZF+8gNOEkKpkGtyBJRfR+/d\njxgdR19q3f7UGz9KODTR8zVbW+MS27aXP6+r1ngYaoSIsrHjevOEEDsipt3M3XnyyTfy/d//Axw4\ncBCImhpJKZmbm2NhYQFgsFY2QLdBRXcQd61or53GlSTRLA6DqdNeP+QkjVnX6SfNabSGpVr3L2KN\nxNX5KNubfFdBhOg1qAeCOhkQGYQ9iiVCHO1hh+WBlUKEwqIRxjvJa2BejZFXeYr1Gy3bn24ksHKp\nHDis0I9mZW8gRFDbc5I6irWCLUOfzFIyN3cYCGwvne9gf3gfdjXFkrFW11i2stciwgCtBP7Jc6jX\nntvUMc499Xjq+wiCkCBoUK83rXGwbXu50ZHF+PgIWms8b22S29bmo/TKD//w38O2bcIwRAix8p0y\nOjrKz//8v2FiojTwki9jad8BdHNTR59TkTjRrPt1BxPTXuseb+65XvdopBALTpP5co2gQzat1uBS\nZLbmsK9Y7diDvBsacENJgzxa5CmJCtkwxXnOy9RjWNkbqZKlnjtGKVgg53aJMafhJdAaZ0MsOwTq\npQPUnSF0i8NDoXI7oZUtUXPX1t0WZAuE+WF0Jg+2E1k8gY+sLCDnbyLbrK+lQnmDrQTaaGVvxNIN\ngjMPI16fQjaivfhjhwhG9g90X7D8OXA9LMsiCELK5cqKNb45Nr4aH0+jNW8nLl26yKc//cdkMhm+\n+c2v87f+1o9w9uwDHR9j21FP9kFUzcRmB3getoo7VrS7obWmUMgShmHiudGd1x1MM/+mpV0q5Xua\ndd1uzTS3GoSa2/OtXfRagy9yzDVyeIEgZ/noGBnO3VBS0giiJ7Ggi9RkjpKex9LpuF0DYeO2GR/a\njVALFuQI1dwQo+EsssUQlLSs7IzU66xstzhBJbuHULduiiqDZFZ2iMDLlFAHToFSCB0iQg+hw2UP\nh4a1sfxCnrB4Cl9lwHOR5Tnk4vSKN8Qf3ocdY/RpP7SysjeivBrhkdMEt2+h5m7QOBk/lp0Ga1uY\ntrLGLcvCcWyy2QwzM9P8yI/8HSYn7+Xee+/n/vsf4t577yWTSaezYRAEfPSjH+Ff/suPIKXke77n\ne1fKunY8XZqb3EncPc90Dc2krUbDW0keSYsopp3qkkAUb7ftqIyrVVOX3kjXK1CpuS3d9AEZ5t08\ndX9V/MZyNfocMQ4aPL2hA1uouM0YBeWRD2b7yuYGaKhSYit7I56W3BLjZHNDlOo3UWusv7SsbLU8\nFtPLDFEdOoAfajq5MYrVmVjjOkMEjZFDBFaG/MKVyDKPuV2hw6h3uQCGhghHxsDJ4S+VkUuD9Zh2\ns7LXIgMXPTqKO36YYM/hge5rI50S0bRmnZu8WBzmIx/5N7z44rd54YVv86d/+otcvHiBD33oZ3j7\n29/V915eeulFtNZ86lOfpNGoMzQ0zPd93//Q97pbwg4v+UqTu0q0bdsin88sx418gmAQpSbpCmFU\nxpVZ+QCnJ9jpWtpCiE0Z4yEWZa/Ikrv+AzWUcQlS6PolpcQLWj0BQSVwqIl9fbnMA+n0bGW3oq4d\nGpkjFKiQr99CpxXL1j6hkJT3nMZHQhcPjE1AptK5MUpTrH07CzrEcSt9D0gRoY+ulwmHxtCFImGt\nijPTfl55P8SxstftTWu8facGspdOSCnwOw2W38C+ffvZt28/7373ewBoNOrYdjpNTG7evM4LLzzP\nP/tnP0exWORnfuZD2LbNe97zFxOt43keFy9e4MiRY2SzWzPf4G5yj98VKXdSCgqFHLmcQ6VSp1pt\nbHmWdy/k8xkKhSy1mkut1hhQxmj/a+ZyGaquv85i8Mhxszq0SbAhpOT0nzsgELgtBXvNlbRgISwy\nJ/dFApmQuiz1ur22aKK67tu541SsUXzZeytUDXgyQ8MusTB8JBLsGOTLt9rW+4UIaiOHqUycwrec\nyFrXOrWEMW05SL+ODH1ExqFx9H783HAqazdJYmU38bNDBIU9qe4jDv32Hs9ksqnFkvP5AseOHadY\njHqtP/TQOb7xja8lXmd6+hYf+MDf4V/9q5+jUum/NXEctFLb/rNV3LGWdvM7aX2i2VpLcGe0AmzF\nWo9As0mKZaX/pujXld9s5lKrucwvLicVaaiGJebqrU//43mXIIVkGilV7CQ2N1TM6FFK0iIbxuvi\n5cscXji490eIYi4sASWE1DgyxMHF1g2csLKp4Yhu7klm8cjgYuGHgoKqk9HxS/2swMVuMUs6ROCP\nHcGzs4SBv861nnWXYrnS4yAKI4jqqudDBg3Csb002I997XzbxLUkJLWyARp7TvR93V7orU57MO/L\n++9/gIWFBYIgQCnFjRs3OHLkaNfHNe8P0XfKwYOH+PSn/4znnvsmX/jC5zh+/K8MZL/rMCVfux+l\nJKVStm3S1k5sQrS29KxSWV96tlP6DTfJ5zNYlkW1Wmd6LjpNhyjK4QhLbQxpIUIc2ejmve2KkoJ6\nQq9yqGFBl/CVQyG43fVrry7ygxoUBoCvVw9hGkEjVDTI8f+z9+ZBkl3Zed/v3rfmXmtvaKCBBjAF\nDGYAiOLQGpkUh9IMNVLQYQ5l0iGGbJqSJQXDoqQI02HJCoccshwe2ZSCoT9kBW0rSFO0zYkQORJJ\nzZBDD8kRFw2JWYAZDlDY0Qu6uqu6qnJ/273Xf7zKrC2Xl5kvu6u76otAAKiqvO/ly3zv3HPOd74P\nCiBqWBJckSAwxNh7GwhxpL+u8ZgsOJVad46997C4TFRaSu1A1eELawsm9p8eBu340D2+aRIYBIr4\n8hqyVcc5wlCf6BjSRprJWkj3K8uGk6WIVq3W+LEf+3H+6T/9xywsLLK7u8OP/uh/OfI1169f4403\nXudP/+mPA+n7uXHjOq+++kd84hOf5PnnX7wXp44562k/+BBCEATR0FnHeRl79Nae9GY87HU9fy0C\nmG4jYNsWpZLfrwJEsSKIEhI87nZLjGrPnS8F6BweUJrpb9C28kjkeap6cyhJLbaKJGZ+GyQhJMnI\n0r5AGegaZ+Q6FSscSTY7Ck9HuAfK3On89uMoIRBDpETtnLyyAbRXQo5QUpM6hmKRoPIczu13sMLJ\nR8KS5cvYyWSvi+5Tlg0nK2gDfPd3fw/f/d3fM/bves+OGzeu84u/+Bk++MEPsbq6ysbGLX7mZ/4P\nut0On/jEJ/tOYHPHWab94CNJ1Mhsep6Z6yC1tWHIKpJyvzNtIaBQ8LHtw1WARjsk0GXudl1Gle0c\nqRAmmjl5taWkO+NzINQW2+I8C2wfGw0zQEBxtgOMgDGgZth07EPjTphll5v7cqWJW6JbuwRGDf3U\npFbYUT49SeUUERmlTy0VolYvo8IId/PdzMfQlos1oYSs8qsk9ynLhumC9kmouPXO4emnP8AnPvFJ\nPve5X6Zer3Pt2ns0m3W+7/u+/9DfzR0PymhaDnhog/Y4zNeWcl9tbRQ8z8X3HYIgIgxHl/Tmcb5Z\n1+z12I9KpXZCxVZQGUA2O47VUpdZW9nGQJwTm1sZwTZLVGXrUJ87tirkoSg6DFLKsQS6LJg0y/ZV\niNzT+O7WLhE7haHZNaSbRG+M8cgkMK6PjLJnwMJocG3Cy8/i3Hgtk7JcsnwJe0LBlnDp8Yn+Pm+c\ntEw7K3pJRLfbxXVdNjfv8KUv/SY/9EM/zA//8H/en8y5V3Pep6k8/tDWFMbdB/POtEch7bcXcRyL\nZrMzNmDPD6PH04QQlEo+hYJHux0cmmk3Bt7Z9jIF7LIbo/OwnLTtkeX3SWFI2eUtaxlDL8uens09\n9ngG4oxyqKOhcZksOJWat9DSobX6FInjjyWW2VphxZNl8sOgC9WJAvZBSBMTP/ZBlDN6dEg7PtaE\nOubKq5CU75F15BA8qEG7F5R/4zd+jU9/+n/k8cef4Bd/8d/y9NNr/NiP/RW++MUvAMxdwa0HI+R9\n/+de4ZRn2vMK2sM3BNM6iM1jkzEq0z6YXbfbx8uaWy1JN872Ra15swupCCCcS3tM9PvcvghmJsmN\nQl5ZdtUOxs5iH4QXtdG2S1A5j8kwH28MeJ381Mo0cqbsQKqQ5MITmN072EPcuZLFi9jxZIY594sx\nfhBZ22hHXjWPU5kItp2GjgsXLvLpT/9jPvrR70QpxUc/+h9y587te17CP02Z9qkN2vOkBg8Khr3x\nKKWmdxC7F9hnsMuhPXal4WY9202yUgzyGfGybHJQPR2KQEm2kxUW3BZS5C+6Y8xhxvi0EGgcPUEG\nvEe47HpVyCho46pwoPHINIj9GlYyO7FS6hhdWybyK8f63NotpMprE8AUa/c9y4YHM9NutVq0Wk0u\nXLjIn/tz30e8ZynbK4V/8pN/HmtPVvSe6ZGfgD7/vcKpDdrzJXbtl50PErjycBDLE0evQc/mcxyD\n/VbDIskwwyzzHPGacwchMR7dxCZUNVb8Fo7M14jF8zyawewP58oEWbbCRgiJmWCOG2Nwc9IE14jc\n5rvhQJ/7kWdxbu73uZOFCxNn2frC07md12mD7/t87nO/gm3bfPSj38nKyv7mp1cO39y8w+uvv8YH\nPvAMq6trcz+ns0z7IcGo8u88iWi9YDiMwHXSkGbXPlKOt/kME7jdzLZ7Plfq5jLiZYTNXIemDTTC\nVAxGG8GdbplFP6AgO7l8R4xh4rnyQZgkyw4pUk9KPMpkMqFu3B1JUJsEqrg4FycvSYx+4sNwYx0s\nB2vCES9Ki+jKOejem9HKYZDywcuyIS2Nf+Qj/wG//uuf42d/9v+kXC5TKpUoFotYls3u7g4vv/w1\nfvRH/2rfY3vuOBv5evgxbyKa5zkIwdRe14PXnXz+exyEEFSrxQGKcYNxc9fCZJhh9i0FQ0QuDBKD\nhSAZm4l5rkMrhwx1FBJZwhzqEwp2ggKRY1Nzmggx2/GlZREks7+Hqt0dm2UbAy2xRCtxOWfdRUxQ\n2RHG4OTUy9bSRk5IDJsEJuqgLj2JRCIak3mCc/kZ5roJzIhpJEzv9+hnD0EQ8D3f82d47713eeml\nP+CP/ugbxHFMpVLlj//xb+fTn/4nFIvzG508Ci3OMu0zTAnXdfA8hyRRNJv5sG97mGT+exx68+HG\nmMwbi1Yo2O5k29EuFzskWmCwUcYm0RaRkgSJRPeDvsG3DQUnwZEJ0kSHA6SZF/nsICS7ncEPwXbs\nEOsFlrwG1pR9bmMgVrNnAZZQ2Hp0ZpjgsmsWiJXEJqGo6hMdwwsbuVGclF+du192IixCt4Jbs/Hr\n2VTUksICTvUcJpzfhiIrHsR+dg+f//yv8CM/8ldYWVnl4x//s8d+f6/f11l5/BQhvyAoKZU8QBCG\n8Zy+tL1e+WxrH1Rfs20rcyXg+o7FOOaqFODasNGuZOh7C4JEECQu4AJFPFtT9gyulWCLmG4035u/\nE6ef2TBESnKnu8D5UgdpJt+ESWmhc5nLHp1ld6lQT4r9isGqtYOYYD5Oao0dTOeGdhTa9pA5jYuN\nQuQvIHRC7BZQq09S2Hx77Dy3fPSDWJbkJDCwpw/a9//cW60Wd+/e5Rd+4ef5gR/4QS5efAStFeVy\nhV/5lX/NJz7xSSqV/A13huFejlzdb5zqoJ3eMLMHQd938bx9kRTPc+bCmpy1D39Qfa3Z7KK13ivj\nj394bHcE7WjUezIYLbndtnlkMc5EVBuEMJGESap8prXHUinBqO5c+Acai04y/hbQBm61iqyUHFzT\nyH4uBsIcxGAskWANybK1kTRYpKv2JU9dIrwke5adCqnk4+IFoNzS3LPs2C1jdNIPXxpon3ua4vZ7\nQ+e1VXkZSovYtkW1WqZcLhJFMXEcE8fJPSeJTquGdhLK41evPskv//Iv8eabr/Nrv/ZvKRZLWJZF\nsVjiC1/4PB//+Pfe0/M5y7QfEowLcrP2iC1LUir5KGUOjXHNV21tuoV7bmdZ1NeOQhu4sTP4q2KM\nQSLYbLmEieTqakKQzP7mHWloxpKNhkPBsah5XSC/h6oxhlY8mZDKVtvBtxaoeW1skeEaShuTx1y2\n1WWQTHokiuyqMsoc3hikvezs69s66QupaGGh3CLKKaItFy3tVDwCkEbhRG2czvYxF7Ie7kXABoi9\nCuKoYI9RdJYew2vdPaSx3kN36Ql0u4vnuTSbbYwxOI6D6zqUSkWkFH3P+jhOiON4rsZCD3J5/Pu/\n/y/w0kt/yM7ODpcuPUKSKMIwoN1uIYTA8+YnUjQI5gRUH+4VHuqgPQ6zBNeeSEqnEw4wJRmtNDYt\nprHSTL3EfYxhqNvZuBbB7cZgURAJbHcc2nuqaAVHEedAuvNtTTPc3zl3Y0k3LrJQSPBkMDMxDMDg\nEKnJd+eBsgg6VSpuRNluI8Xg9yukJMyhl+3IBHlETzvGo2WqBMnx8y+KADvJPqkQWSUcGdFYehIw\nA6RRTer+RbpvCN0SoVsCYWHpGCdsYnd3+uIpxnImIr9Ng9ivwTCFPaMJSosor0xhZ585H5dW0H4V\n6AXL1J8gSRTdvUq+lGIviNuUy0Vs20Yp1c/GoyjJVeHrQQ7axWKJP/WnPsbzz7/IwsLCod9913d9\nDM8brWCXN84y7VOCaV2uikWfJFF9r+vj684n05503WzZ9egWQZSkc9kHIYWh0XWodw///OJCTJDM\nGKiMGeKAJdjtOljSZqkQIommvsbGGBrRbJlAM3JpRQ6LfoA/cDTMyiVLq8hOP8tOsGmbGh1lM2xT\nuCzG244ChHaFjqxQNG3MNOInRqGERPk18BcQQiBVgtc57tWdN2KnODxok16ZxHZorT5NcetthFGE\nK0fVz45/OFobwjAiDPenKBzHxnEcfN+jUikDhihK+iX1YS6CWdDbPDzIOBqwAdbWnrnn52EeAEXu\ntbW1NeAvAl3gu4H/YX19/Q8mXeeUB+3sUqZCCAoFL5NIyvzGMrJl8CkpbriX+KEVx2wEbuxafbZ3\nmhVIbuy4x8pRq+UcAjZQ8syxzcBBKC3YbPsUHYey2x2a6Y5CYjySHHrNBsF2UMCRHote+5AgSx5z\n2a6METpCIemwQCtxGPX5V2UbW40mgPWCdWIEtklwkjxcvAzaGGK3SORewQ928YJ8PLiPIiosjQzY\nR86K9uqTOHGA9vZJUZNkuL3A3Nmr+FuW7GfjhYKPZVkkyX5JPYqyk1CnzbRPQk/7pEGf8Ex7bW3N\nAv4J8B+tr6/rtbW1/wuY6ilxqoN26sY1/q96SmGTiKTcr0y7R4rrdiOiaDYZsXTEq3czGILYZrt9\n/Csj0JR8PbOutiUMrSBbMO3EFp24xKIf4lph9gfZASGVvBBryZ1uhaITU3XaSCnIoz1SFF1aZoFW\n4o3v2RnNotka+uvEW6AlSsSKfpJZMfnYbgIYpwBaYYCuVyXyqhRbG1g5yaFCqrCWWG6/XJ/pvIwi\nWrpy6GezZLhKaZQKCYKwv5bj2LiuQ7HoU6uV0Vr3s/EoSvrmGkeRtqUe8FT7hOABmNP+COlD4cfX\n1taKwF3gf59moYc6aGdx+hr1cM3qdT3putNj+LqWJftz15Nomw+rChgD13bSG0EKw2bTJRhiEPLo\ncpKLEYZrGcKJsnXBTuBTci3KTidT4A6UPzfSSid2iFUlFdexFa5MkEJl3sClmzILpI1twXa8lNnV\nbMVuIJPjm7R+Zn2Eze+LCJmDJjik4zZHe70KaJYv4iYBfvt2LsXLuLQ8UcAGwC2B5Rz6UZ7B0hhD\nFMWHNsi2bR0juB0uqcf9Kt9Z0M4H5uRXH64AHwX+4vr6en1tbe1fAhHwM5Mu9FAH7XEYlbnu94Pj\nQz2u7OvOg4g2+Hz3s+vJnMNG4W5b0okkGMHNXfeAIMphFBy1J1U62/v1LU0znO7R3o4cYlVm0e+M\nIalZtGJnxO9nhzaCTmzTPnAc11JUCwKhA2yhEHtCLcZYKGMRa4tQWQTJfiviYqWVeWxOGkVZHfa+\nVsKm6a6m/uNHL4kxFA94iM8KbftDStaGyPaIFx6n2NnCiabP7LWQKGENIMoNh0FA4XjPdd7BMhvB\nLQFStrqUxzc9w3Hig9N9wQOQaTeA19bX13uzmL8DfIyzoD0ZBmWZk/SDR6+b11keXXd/4V52rfVk\n2fXhNY9vBHouXmFssdUa/RXJg3xmjCExs5WUI2Wx2SmzXOhgyePZmDHQTuY7huJZikZ4fFMQKYut\nFkAq6yiFwZjhYypLfjDRnPtFr44I999z4FRpURka38qii1D5OLAYy8GM6TEbo2kXlvArK7jb14eO\ni41CVFqZKGAD4JVB3v9H3DCCW7VawnEslpcXOEhwi6KEJJm7FOBDhQdg5OvLwPLa2pq1vr6uSDPv\n16dZ6P5/o+8jzJ5tYQ/59YPnVR7fR37Z9fFzvbFjsdnYH+UahvPVnMhnrqERzL5T1kaw2SmyVAhx\n5OE+t2X7BDkcYxiMyV7aH1a1gJQf4NoJKoO+O4AnEtwozbKNEATFS7RGFIak0bg6v162knZmy88g\n0YS1Ryl0d3DD7OIvWjooM9kdZRDg1yZ4xb1FHCcopel2Q8IwGkNwSwP5vEvpYRjw1/7af8FHPvIn\n+Bt/42/P9Vh546Rn2uvr69tra2v/LfBTa2trm8Aq8A+mWeuUB+00y0zHuDyU0rl4Xc9z5MuyJNVq\ncW7n2gwk37hZGBs0LKHxXU08Yy/blobWlGXxwRBsd33KrkVpr89tjGGnO9+vum/rgVn2pFgphZkD\nNsCK2ARtiK0CTWuRcbyviminFpc5IC2LT5Y1G6Pp+DUS26fYvp3pNWFpGTHhcfCrMIBRfJL6yAfP\nZTTBrcBnP/vzfOYzn+G55z7Mc889z4c//AKPPXYl1zbcT//0/8bTT8/fRnMeeBBkTNfX138J+KVZ\n13mog/b4e9PskUaGiaScLDiOhW1btNtBjud6ONN+5aaXKWg8thwT5kA+syUEEwSprGjt9bkX/A6J\ncWfeXIyEMXTj2Xf6UmikUCMz8YMoyQBbtWm7y3SMP1aN17c0dpiPWplhoEhbZkS2h6o9Rql+faRe\neOIU0FpNlmULmQbtATipQfsojhLcvvd7/zzPPPMc3/jGK3z1qy/xsz/7L4iikM985rO5CJl8/vO/\nyvPPv8Cbb75Btzt/3fi8oR+AoJ0XHuqgPQqOk45xGcNQkZSTgp6gS+9GznNzcTDTvrljj+1hA9QK\nCVEOoleFI8pneSNUFnc7JaSYsLY6IbycsuzVYjdzwAZYELs03IvEJtsDq6ga5GVJ2RvxmgUKaC5c\nodx8f+hoWM8UZCL4taH+ynkZBOWBSTYQlmXxxBNXuXr1KT71qf8UgG63m0vAfuedt3nvvXf563/9\nv+LNN9+Yeb37AW1Odnk8T5ye7ckehEhlPQsFjyCI0FrP5SbOS2ClUPAolfx+72te0SdR8M1bWYha\nmuWympn4ITCEOWiUj0Mnklzf8ZBYc8mwJJpWNPve15UKM0FALVoRDVHLHLCrdoLIbcTLQs8YsPtr\nGU2zcpHIPe4IFXvVzEIq/fWkBd5wd6kHJdMe8ar+fxUKhVzO40tf+k1c1+Xnfu5neOWVl3n11T/i\nM5/5v3NZ+17BIO77P/cKpyrT7omkhGFMux1gWRLXnc8I0Kze14PkUh3HnkOvPN1crN/2hs5hH8Tl\nxRGGIHus+Sxf4IKTD/lsFCwUO500E7m+bbFUMhRclSvhwLEM3Rw2H8uljIxxY4gSh4rTzf7dMgY3\n3s0px06tNycNpiNhDJ3CIsopUGjf6f84dkuTH8dfGPP5zu7qlxdOiozpj/zIX+n/dxSFdLtdfuiH\nfvg+ntHk0Kco/3zog3ZK3hoskjKveeq9I++tPfldWSx6OI5Nu31YLnUe8qjGQL0jeGtr/ObFsxVC\nGlDg2On8b6wgTgRBLOlEAiGgVjB4jsKSBjVghtuVmmZG5bOpYQw73cPvabttU4wES+U4F+KKLRXN\ncPZbqODEJHr8xIExgt1ugfOl1kQP+6poY3IaIZJugUTNh/sR2j6q9ijF+nWSCeRKezCWk4qpjMDJ\nKo+fLEW03/qt/4+XX/4acRzzhS98nk984pP3+5Qy4wEY+coND33Q9n0X33cGmmbMa546XXvy19i2\nRankE8cJ9Xp2p6ZZ8dV3bcyYXqorFQsFTb3j0g4Z+vfGwE5H0Ou8SGGo+Jqiq5DSoAwg5l9OEgwm\nh3Vii7AuuFCLhvY9M8Pk8z4W/HBslp0oi62OjycVrpVd7McmL33xdPsZTaFbMAkSBM2Fx7FUjNQT\nSqAWFsdWUR788vj88LGP/Rk+9rE/c79PYyrojG2ihwEPfdCWUgwVSZmfscdkawsBhYLfZ4YPMyOZ\nx/m+uym40xz+hbeFwiQ6nYFuTd5K0EZQ71p9E5DFQoKyDIj5zbJLNHeaw89VacnNHY8L1QhpTVdt\ncaWiGc3eWqmNCdjGQCfy+kS3y7XGROtXTH7KZ8b2Jxc4mQKhLBIJh4rawRljgNKDsX1wxvd4T1qg\nnATzfF496DjLtB8idDrh3LLpUcg6q+04ae96EjOSvBArePn64MAj0dhGcXNLIITgyiWL7ozeD46l\n2e1axEpQcDTL5WRPCS1fRLFAjd15CzYaHouFmJKvJ9IuNsak8qAzQ1O046HXwBjB3Xahf6wFP0CQ\nnQBWIESqcOjve6Eryzs3Qu7J1c4XWkhC7WCAulykLD38eLRjmIE0y86Ak1Ief5A3DycRZ5n2GXLA\n6Ewya3Z9aMWcd9qvbXgE8eH1BBpXKG7dFX2Frw9egXqQAxPe0WzvMa27cWrxuVRK8F2V203nSMPt\nTnYXr52uQ5Aolifoc+cmpFIMBwZsYwyxcrjb8dj/DmnOTdLLNoaCbqCFhZYu0vUJVbqZ0UgUKQlK\nALbQOEQ4qoOlBysBDtcXzxeRLB9K5lsUiV2XUnRnONXILYGd7TOflmeSN6Q8C9p5Qp0R0R4ejMt4\ne4Ew7xtoVIB1ByQYJgAAIABJREFUHJticTKrz3TN/IjPux3J2wfIZ8ZoCpbizg60DyiUnV/Ih+Vd\n9dVAW8/tto3sWJyvJXsjT9O/QWMM9SmUz7qxxY0di6ViRNHTI4O3wNDJSUjFkseFVIyW1EOXbnz4\nfVwqtzN/R5WxcKVhR6zs/3CIKq8BYiOJ8UH6SAscoXB0iK3aSKMz6YvnAtsjUsevbWhslHuRSryF\nZY7wUiBljGfGyQiWQoiJfQ2EEIhTJCIyCcZxch4mPPRBexxmHc0at+5BCCEoFj0sS05k9Zk3jIGv\n3/DpBUhbaMJQ8U798ANBCkO1IuhEs90QUpiRa2gjuLXrUHQ1S+VkIrOMg7AwM7HStzsuu13DuUqE\nZTFwh+RamiDJX0jFGEEr9AbOfFtCU3aDsfmhNjbtJBXhsd3pyGfaQGgsQopgFbEw2ELh6ubcu4bd\nPUOVQUiMYNdepWLquMmBja5XBSv7Y+ykjFmdlcfzxVl5/BRhPyPO+wY6nGnvZ9fpjPhUK+ZUHn97\ny+kTwwqW4vaOoT0g2D11ydDOQTik6qtMSmudSNLZdlkpJzi2nohcItFTEeWOQpu01+3bipVyjDlg\nKGMJTTMPIRVL9asKxgg6kTuy3P5YrTHy26mMQyfxCJL0Mz1frOcWmIy0aCkHW3qUTRPLDO+Rz4JE\nFojHdIgM0BA1Kn4BL9hK2f8TmoKclDGrs6CdL86IaKcK82Fk9u7Hk5Jd99CNBK9tpMpnnoh5d0MM\nlM5cKGm6avavR8lVbLUmKydvtWyKrmaxnKAyZt1RIklyIYelCBKLG7sWtUJMpaAwyD1LzRyEVIoB\nsRIEsctu4DCqJVB2Imw5uLatjEM79ggPlJQXvG5+wcBApNJrmmjBLlV8mVDQdeRMyuPHDkNIdjnO\npnJRxUdYKQn82iJRtO+GNa7kfFKC5Uk5j4cFk5jsPOg49UF7XveNMQbHsfE8p6/AdhLwjfc9jDGY\nKObd3WHB1HB+WdIKZ7wRjCHdo0y+TieSxHWHS4uKMBn9IdlCc7s9H6/seteh0bW5UA3pGDnzqFrB\nimmHDjtdN1N2cLFyfGRrULCGtBLgyTC3mpGwLI5aXwfaJhJLlEQXV+cz7ZBYZSbdywaJoRVbRI02\nrutQKPjUamW0NntWlqmdpVKH38A0veR5YNqgfTbyNRhnPe2HCOPui3nMPgohcF0HKcVcsutpe/Ab\ndYvtpmS3rmiNIJc9dcnQykHpa7Go2MxQFh+GWAne27K4WEvQwyoi98B2UxvY7XjstAUCQ7VgKHoK\n29KpUMwAcpAxBgsNBpQGZVwaHc25BZm5xH6+1Oagl5YxEOgirSHz4cuF/IxvhBBEQ5zRtBE0TRFX\n+hR1A2sYyy0DDIJAT97WKHoWQgjiONkz0EnnuS3LwnVTS8tSqYiUom+y03PMOgns8ZMyevaw4Kyn\nfYqQt5Rpuut3SRKFUuQesE1fFnSyOz5R8K2bNtdum5Ff8GpRE+k8pDkVd9t5aIsLbtUdVisK2zpu\nVCIEdKL5aphXvYTNPbEWg6DeFdS7+9fQdzQVX+PaCqUFQSRohRbJkWB0aTEhSLJdW0toan6n/2DX\nxqIRFYfOhxftiGNp8ZQwBjTjr2mkJRELFK0IX9Wnqj9EVmVivRZbCjx78HVQStHtKrrdtPcupez7\nUlerZWzbQimFlHIvI0/uS5n6rDyeL8562qcIeUmZSrmvb95sdvfMSPK/vNOy3V96y+H1m+MexIZL\nK5JmDmVxARPZTI7DZtOi4ksWSkmfsGQJw0Z9PoYvPVhCU++Mvm5BLPfMVoZ/3ralsSyJzhigHq01\nMCb9nGPjUw9dhpflNVW3S15VX8uShBPE/45yicQKZbOLRfbRMCUcQj35hqvkZc+qtNaEYbTnkAe1\nWqVfMi8WC9RqNkrpfgCP4/ie8E5mdfg6w2Gc9bRPEfIoj3ueg++7BEHcfzhIKebUf5o8075Tl7x8\nbfxH/eRFk4sBxkrVsDG0Xz49moGgG1lcqKVKapGyc90YDELJUdwJZt8YXD1vaGQcRys6EY6M0UbS\niovHetdHseQHuamVCfbJZ5MgMYI6C1RkG0dnkx4NZYlJ+WyuLbCt6UuhQkAcJ/37FFLNf9dN7+FK\npQSYfgCPojiT8NHk53GWaecJPeWY6IOIUx+0YXrBkqPZtT6SRs0jZk8ssCIk/+41f2xmXilo4hy+\nDr6t2WzM7wZKtOTGjsP5SshWDiNeo+Dbs/Xke6j4itYEk1KPVJok2qUe+WM3JY5MsMWM+rIHYORx\n8lnm1yJo6DIl6eDr0RrpiVWYah6/6M62GRwULJNEkSSKTicli1qWxHEcXNehWPT3SulJvzcex/HM\n/eiUEHd/J0keJuhTVIV46IN2NiLa5Dv3/ez6uHtYb935lbOyrev7Ll9522Yzg8fEI6ti5rK4MSa1\n48xx9GoQJIY3bljUShHCsTFzkjAUJp8Rr9VqQidjL3ul2KGd+HTibBuSpQN971khhSAcQj6bBG3t\nkcglSnp74DfVAIHJPuLVQ8GRWHK288tS/VJKo1RIEIT917iug+PYlMtFbNtGqWSiUbOjkFKQjJmK\nmObcTyvOMu1ThEnL41JKSqVUdWqYe1i67nxusiw9eMuSFIs+m3XD7706fvPwgUcFzTDNYAQaxzJY\nmHR8JoEwFhQ9g21DpK2hZhyLxWwiKrPCMjGdyKYTwWLZUK3oqUq6o1DxYjYbOSifVeLMAbvoaCzL\nppORjF1zA0xOrlvGQJyBfJYVobZQcoWyPt7njq1K5t5+D0JAwc3nM560LG2MOdQXB/rktqyjZkdx\nUkbPHhacEdFOESYpN3vecG/u4+vOx6t73Pn6vovnOXQ6IZ//ioUaQ/SpFRIwDiKJaYeCdtDziD58\nkJ3+SK6hVkyoFAyWBaGy0Eg8W7MzhrCVBzyZcO32/nF2WtAONI+sqKlGhwZBYEaOxGVfR1MqQDCO\nm2UMaI3rJYRJti+NJTS+HeSXZVsWebduEy1osEBFtrB1WnrWwiKYYjqh6Fq5bILz6iUfHTWzbatf\nUj84atbrjad/m/95nCFFVhGmhwFnQTtDpp01uz6yMvMpjw9e9+A5NhodvnHNGkkGKzoJSRTjOR7v\nbACZsyxBvSOod3r/Z1goJRSLCq1Hq3vNDKOptzTmyLlGieDdDXjsXEhonJlNFZbKcPPu7FndlXOK\nIBm9joWi0ZXYlmCSKv+5coDKycNDCIbOZM8KjaCuK1RsDzepE8ryxOQzSwo8O5/zm1ew7PXFu3sc\nPCnT6RHHcSgUyliWRZIke4E8PgvaOeM0XcqzoD0maPcy1243OiDOkGXde0dE6/XXe+fYCgRffmNw\n1unZCqki3r1peOaKPXN2bBDYUvH6+zbVgmK5lo/86SAULMXGkNlvg+C9OzYXFhKEO32f27UUG9uz\nB+yCq8cSrWwUt3YdlBZ8+NF2Zo/ushOhknzIZ8aAEfOvkDQTl5J3niiMJr4vSp7MrdV0r0RNtNYE\nQUQQRHvHFf2SeqlUwHFsarUKURT1e+PjiWmnJ5ucFGcjXw8ZRgXQYb/r9YV7mevJ2RXvZ9o99jpw\nqALwpVdd4iOZkyM1nox495ZGacFSRdBV2X2nh6Hgau7suYM1upJGFx5bVRgpMgehLHAtzfXN8ett\n7FpUCwkLVYvYTB6MbGFyeQA8sqxohYPPV2KIY8NGM73+V88FE1wrTcnpDgw8xoC0bISQ6CTK9IyX\nlpxbln303O52CxjtUXFaiIwji64tcGYY8TqK+5XhGmP6WTbAysoizWYLy7Lu6ajZUdy8eYOf/ul/\nxtraM9y5c4darcaP/uhfnftx88ZZefxU4Xi5eT+7Domie+AjPAF6m4xh7PX19y2ube0HKyk0ZTvm\n2m1FGKe9aiEMly747HZmZ4s7UhMfmSO+tgmurXlkWdFVVurGNCOiUJNkDC6NrkUQGR5ZjQh09o1J\nXuSzlaoaqttuC8Xdhk03Tq+JbysKrs68UVjyA5S20EKgjUQbidKSxIi9zD5dR+BRdFO1NqkjtB5c\nJYpzJvANg5AuQSAAi0RXqHmdTEIss454DTgTToqMaRwrwjAeO2r267/+6/h+gaeffpZSqZLreTQa\ndT7+8e/lu77rYwD8pb/0g3z0o9/JM888m+tx5o0Tk1ONwdraWgH4MvDr6+vrPzHNGqc+aB9keVtW\n2hdWSueSXfdK7/nu7A2e5w7sr7cDwe+u7wepihuzsZVwqwsHNyYffMJmNwfS2Lmq4ub24HWiRPDO\nbcFCSVGraMIZSuZFO+btDFn2oeMrwTsbFucXIjzfIh5DyMuTfFYrQftI0BYYhNbc2D3c93/qQkiS\nIWBLYcAIGpGXiSlrELQjaEcWUMCxChQcjWspUCHGaCzbIY7vxdNOHLIeVUayHZSoeSGuGG6kU3Bn\nH/E6diYnRPN70HNh2KjZjRs3+M3f/CLr6+s88cRVnn/+Rb7nez7Bhz704ZnP49lnnzv0/1prCoXC\nzOveazxA5fF/CHxtlgXOgvYey7tQ8HBdm04nPMb0nH7tfB8Sruvgeamueat1XHXqS6+6RInAGE3N\ni3nrhjomzrG6AK149rJ4ydPc3h0fSHfbkt224ZGlEGwbNWHJ2hKK97emPUu4vWthScMjyxGJGN7r\nrnoJt3PIsh9dTmiHB9+jwbclt3cl3SNGIedrEeNGdS0BndiiEUgeWwymLmXHqpdVp3KrJVdjKw0z\nmH1kRaTdASIxgnroU3IsCrJ9rEUlRTqX/bAiy2a+N2r2qU/9J3z/9/8F4lixvr7ON77xMm++uZ5L\n0D6I3/7t3+Q7vuOjXLnyeK7r3guchI3YOKytrf1nwO8CzwPladc59UHbstIHrJRiDr3rHslttjWF\nEJRKqfJaEEQDSTmvv2/x3paFIzUkIW9ch6NlfyEM51Z86t3ZtcUlZgL/asHNbZuyr1mqmYkMSUys\nCOLZMmClBdc2LYqu4vzS8dEw31ZsNnNQg3MUam9T0GsdbDctNqLj10kKzYXFXsviOCxhaEd2X1b2\nYnX6gH0UAmiFNomRlBwLzwoz95gnhzVSKKYdO8SyQsVpI8U+Eavk5TPidRAPOmPb83xefPHbePHF\nb8t97a9+9SW+9rWX+Jt/87/Ofe17gZPe015bW/sg8Oz6+vp/t7a29vwsaz28W9kDGHafFgoe5XIq\n8dnpBLnf0Hks57o21WqRJFE0m4M3FZ0QfnfdpezG1HdDbmwOXuu5qw717uwl4NWq4m5r8q9OK5C8\nvwW+lY35XLAi3t/Jr6fZiSTvbEjiboQr96spwphcNMwvLSUoI3CEotMV3LjrDnUg+8CFkEGj/rYl\nCWKbjabfD9i+oxAiP8lLx4JkTyCnHTvshiWUcXLPVoyBToaqTqQtdqIKiXH2zk/gDnHxmgUnuTSe\n5TWzjjIOw+/93u/w5S//Pn/rb/0E29t3+eY3X5nLceaJnrnO/fxnDD4FBGtra38H+E7gO9bW1v72\nNO/1VGbatm1RLPokiaLRaFOtluayC5/FjEQIQbHoYVnykCf3ILb7b3/LwZcRbw4oh/dwcflwX3Fa\nlDzNRoay+DAkSvDuhsUT5xM6Sg59EEk0t7fns3vealrcbRkuL0cUfNhszt4uWCknxIkg6Bo2uqPX\nWygkCGkO9aYtAc3Q3utBH8b5SpRZdGUcXMvQPlK50EawG/p4lkPJDnLbIBgcoowuXtoIdsIiVTei\nVpxPyT6PqlcekPLkZPyvvfYqf//v/13W1p7lx3/8rxMEAT/wAz/Ihz40UzJ4z3EPjNlmwvr6+v/U\n+++1tTUfKK+vr//UNGuduqC937sOiPc8Hqf1qB6HaWe1HcemWPQIw5h2+zBR5+hG4I1bgvfvJHvZ\n9RDGsmWoLfi0glkf/Gn/P49S1Du3BZeWNNJhYJld6lSqdF4wRnBrW4BWuE5ApQC2LYmMRZIx0NhS\n4QgFWqONxfW72YL/oythf8TLGINAcrvlDCSYXaxGhHkNMBizd9zBn1+oLEJVpOrG2CKcUWdA0Iwm\n3QwJLCmxcyafHVz/JATLkyRh+swzz/KFL/y7+30aM+NB0R5fW1v7C8CfAty1tbW/uL6+/v9Musap\nCdr72XVCo9E+VM6YlxDKpKpoQkCx6B/Lroeh1YVf/X1Dfczo1gevumx3Zi+tXViAa5v5Xaj3twW1\nomahYg75KpdczVtjvb9nx0Ih4cZdCwLYbvZ+qij7MQtlcF2BRhIri4JrEEYTRYpuCI2OINjrR3/g\nsmC7na2K8eSBmWyJoRU7A7NrSIVehEhyMS0B8BxoDeivH4agEbnY0qbqhogJ/LEPwsjSxFtgW2pW\nivk5lh3Fg1weP8NonJA90Fisr6//K+BfzbLGqQjavp/ONHc6wUDBgjw8tQdhEtMQx0k3FVGU0G53\nRqy5f66//O8ZG7CvXBBsd2b/mBdLhhtb+Uuz1juCTmh4ZCWdqZZo7mwr5k23qPqKm0OUz1qBpNUv\ncBg4FLgOv6ZS0HSUl+mYBUfhuRptBALYbHsje+kXqmFu5DNbaloTVC4SLdkOClTcBEd0J9zUWtSz\nWWofwmoxIkcdlWM4KcFy2vM4c/kajtPkcnoqgnYYJiMlSOcXtMebhqTjZj62bdFuD95UDMLX3oTX\nb45evOAZ3IJPN5rtvVnC0A01eoi716yIleDd25IrqyFaQ7M776+lJk40Jof388g5i3rGtsNTFwIS\nLYgSi3ow+j2ulvIL2Mawp9c++XrNyMa3i5TsLlnaR8ZAO8m2iTmIoqOo+fNVAHvQg/YZhuNBybTz\nwKkI2lqnjlTDMM/y+KjNgG1blEppdt1otIf+3aEVjWGnZfj8V8b/7QeueNxtHw9MAk3BMURKZBrb\nWiypXFncgyHYqhtUFGMJOdT+Mw+slhOub83+fh47b6gH2fq2l5dCtJHsdJyxkqWOVLi2yk0wouQL\n6t3pr2eQWCS6RM3rghkdWDXuBKOAKQTwzGWfkl/oO2NFUTzW3nJSpMEy1yVnOI8TcCIPEXL+qpxo\nnIqgPR7zK48PQ7HoYdv2RNl1uqbhF74YEw2Z7+3h6Uclja6k7CZYQqO0IYwM7S40uikRS2BYrsJC\nRYKQtMLjwXKhqHh/Z/6TgVJodndjdlqCxXJAterSzehDPQl8R7GRw/txLIPlOMQZiM6WVPgubDSz\nZaAXa3mWxQ2NGQJ2D4kWbHcLLPghcqggi6QVTT6hsODHdJptwo7EdZ2+qca+vWUayJMkD0be/Q+W\n0/XWz0rjo3Ca9kBnQZveBz6f8riUhx+YRwlxk+LfvwpvvT+8gWNLzflqwnbDpxUcfbgefo8GwVYD\nthoGUFhScX5RUCwIlBZEqtfbnf8Do2SFbLTS4+y0BJ0w4tHzikY0eal1FAq2ZjcHve0nHxHUhxiC\nHD5ezGpNs9PNFsxWci2LG1IZnJzWQ7AT+FQ9C5vgUHXKGAh1NonVg7CEZrkQAgKlNN1uSLebynj2\n7C1d16FQSAmacZxm4b1/T4KTkuGelPN4mHDSR77yxKkI2uPujyy952mPe3Dd3rjZpNl1D3cb8IWv\nDv6dFJqVYsy1WxEXliu0GpO/IaXh/buGXjZyaTHEsSUYNxfTj2EouTFv3zxMcgtjwVs3FU9eCqhH\nbi7CEqtVxfU7s6+zUtU0wtGbCWM0JTtCKUE7Y8XAkRrPUbmpO/mZ2OKToxE6FGxJ8WCfWzgEyeQt\nhwuVBHdPrjQlE5k+x2SQvWWaiduUy0Vs2+57VKfOWMnIYHhWHn94cTJG6O5NNeRUBO1xGJQR57Qy\nIPaMSAp9MZdp7let4bO/B8djveZcOeH9jZBv3TK88GyRzcbs/drzNcW7t9PZ9ZVqQKXiTFX6HIde\nWXzQWJMxgjdvGh5dDUiEP1Of25aa7bpmdla6YWnBpjnExQvAlQlBoLixI/nQU4IwY+Z8sZafVKkl\nDJ0Z5V9HobvX5666HUDTmngmG4qOZrG4/5lIuVcd2LtBUqWp/Zulp8Udhr0gzgFXrAK1mo1S+kAQ\njw89zNOy9P1/uJ8F7fxxxh4/ZZgXEc2YVLDDcQozG5H87rfgxtbhk1wpR9zdivjWRvqNvbBis5uR\nGDUKBUezWd/PfLcagrvNmMfPJwTGm5hoNAoHy+LDcH1zr89dc+nG031l+zPZM+KpR+jLiw5CyY64\nuQVRInnxyezuZstjyuJCgNFk3swLIXKRZh2FWAt2whJV36AmjEECw6Xa8fJ2Kte5f97DgnhPEOmg\nRzWkwkSO4+D7HtVqGa1NP4hLKU9EsOxVESZ9zRmG46w8fsowj5Evy5IUCh5CMLMRya278FsH5IBX\nypr6bofX3tz/ploSVs6X2BkTALOg5Gnq7SP9byN4ZwOKXsClVUk99Gc/zoCy+DD0+9wX1NjS9FHU\nCgk37s6+0agWDaEZvCmSaCwT8c5GujG4sKSJMt5ettQUHLU3tiIxJpX1TLRAaYswkSQ6tecsuwrP\nVoBh2HPKs81EM9mzQArD21seqxUFOsm8qVguKXx7/D0xOIhDWkY/HMSFEMRxQhwndPakDmzb2svG\nXTwvrRRZltXPxKdpU80KKQXJOHu3M0yEE7AXu2c4C9pA3uxx308fEGEY4zjWTAE7UfCLv5fK9Bmj\nOVeOef3t8NjO8oXnStxu5DB3vKx559bwa9EJBW/eMFxY7OAVXDpTZr6jyuLDEMaCN68rnrjYJTRu\nJrlRKTRBaMhDrOXyBZud9vHzLdoxW7u678ctheHiqiQYpxduDJ6lKXqa283xHsbaCBqhDXuZvmdr\nio7CtjTGaAxi7mXxQzCGxh7BbrNpUStIPCscS0ZzrLSlMw3SIA693cHBIA77vc1eEE8SRZIout2A\ncrkIQJKofkk9Zagn/SCely3vuPdwMnqwDw/UpKWeueCsp50rRpXA89qlWZakWPTR2tBodJBS4Diz\nXeIvfBW26gLX1ri6y6tvHc8MHn/E5U4OXtCVgubGZraLsbEjsOoxT102bHctJg2KWcrigyF45xYU\n3JDL52U6Jz2CpLZcymcm+/Hzhp324XVsqfEtxbsbHBKe+dBVQzCCfCYwuEJxt20ji0ydFYeJJExk\nf82Sp1J7UD0v3YHDEEIQJPvvu94VuJbLYjEeKXbx1AWHsmeRJGlWPMum9mgQl7IXuHtBHA6S25RS\nBEFIEPQY6qLfF69Wy32G+j5LPc49i5uup31WHh+Fs0z7lCGP8ngvu+52Q6Io2VtXzLTu27fgD9Zh\nsZhw506X91vHv5m+B36lSHNWj2w0Ek08gZuU0rB+LeHScgy2P1Y0pIeyG2Uuiw9DNxK8cT0lyVWr\n9kAiVMVX3MyhLO47Bmynr2YqhcYXMTfvCuIjfehzC6CEM3AcWAiDg2KraRMmLo7UFDyIcqjQGlJm\n9M3dAmUvoeQlc+1pW8Kw1Tp+zSMludN0WS1HAyeiq57CEwnG2Pi+R7lcQmvVD5SzBnFIA/HBIN67\nvz3PpdlM6+b7DPWj5LZ0o+26ziGGeo+dHkXxzOd3RkTLHycj0743OAvazBa0pZSUSj7GmGO961lG\nybohfPb3DKuliPV3oqHsyOfWKmzUc/CCXtR7bPHJ8f5dQa0UsFBz6MSjM34pNHd38jPB2GoIthoJ\nV84rlHSJ1F42bDRa5SO9+sQlwW4g02AtY25tC8J4kNKc4fJ5QfdIhdWW4EjY2JVEB8airqzGdHIS\nkLGkprEnjdoKbdqhxUopRkid25x2D8YYgmSwKxmkG4g7LY/FQowtVT/tl8JwsRqTJJAkCd09ffK0\n72zjeS7lchFjzKEgPilp6yhc16FSKdHpBCiVYFn7hLRBDPVB5La0nO5Tq5VRSh8K4tOQys6Cdr5Q\np6jdcBa0mZ497nmpEUm3Gw0Repg+m/y1rxhM2OXV94enYWtPeGzU8zADUVzbnG2NelvQjRIevwQ7\nneGBuyBDNgb0hWeD4L3b4NohVy5I6pHLhQXDu7dnD9iXlg31wKFkh2xsw8aIuefnnjCHVNwEBhvN\nnV2b5Mjs9aUlnVvAhnRT0DlQ6TAINtsunq1ZLEa5SaIC+I7NrQyucTtdh6IjKfspd+FcOcEZ0Kno\n9Z0hLVlbltUPlKVSAWMgjuN+OX2c+91BFAo+vu/RaLT7imqTMNQPktva7XSXYds2rmvj+y7Vagmt\nTb8nHkXJWPnVSefF5+WN8DDBnLHHTxcmvSmkFHsPE0Oz2RlKKpl2M/DKm4qXXu5Sbw+/syslibIL\nMKOToRSaKDa5+NFGMbzxXsLTjxm2O86xa1rxIt66nr9TWP/4ieCNG4ZHVyPaLah40AotzJQkNEsa\nygXDxk7M7WD0GstVjbHsflnclYpGR9IMjm9gHKlxbUWUgzIbpGYbwxTXwkSy0fBZLMS4tkLPeO1t\nCXea2c+7E1tESnCxGrJczNYHUEr1e8+QVrPSUS6bQsE/FEjTIH58XSGgXC4hpaReb4wkfk3KUE+S\nVFK100mt4CzL6iu3pWQ3cSCIH2eon5R58YcJZ+XxhxB5zWL3susgiAjDyWQUs2CnofmXn+uwp+Q4\nFE8/Veb27uxv6HxN896d/IKoAV6/pnhkJUFLvz/T7ViGzW3F3Ak1xtDpJLyxR6izLTi3COWixAiL\nVmyjBvTePUvh2wqJJoo17Y7h3HmXt26Nn3sXGK5clHSTtOzpSc2tHXtoTznPsrgtNK1wPNFup+tg\nCZuVcoSaIXMLE2tixbZEC86V1dT3n9b6UN+5R/C07XQeOx2hUsRx3O+JVyplkiShXm+OWf04JmWo\nK6XodtUR+dVUua1Y9JFyX341iuKz8vgccJqu56kJ2rNCSkGxmO7yR2XXs8AYw899LhgbsJ9/tsTt\n3dkZ0cuV2cviw3BzKxVEqVRTQRRbB0whtT4xHllSvHVz/7NJFLy/BaABjRQxSzVYKKclynZg2G1C\ncKRicXFVstXOxsjvlcVtoQkiuDmiPXC+ll/ABrAtQ3tAf30QlBHcbnqU3YSSF6MnrEDYgr1Jgclw\nuRZRzdE4W9h+AAAgAElEQVR2MyWPxf1Nc4885jg2lUqaXSul0VrjOPbMY1yTMtRT+dV9hvq+/KpD\ntVpCCMHiYrUfxMeR79IN1ll5fBTOMu1TiN4NN+jmSQ0LpsuuR617FF98KeaN66Mfbks1SSueXfXM\nlpp21+RGCBuEniDKlfMR69fvgemIp7l+Z/R11ga2dmFrd/jfWRJqNY96Bkb+ciUti3tCsTGgd30Q\njtQUfUGY0yhwxTdstSYf9WtFNqGSLBcjVMZgIElbHpPCszVPLAcTv24S9Mhjtp16htfrzX4gLxYL\n2La1l4mn5fQkmQ9Dvbfm0SB+VH71/PllWq3OIYa6UupAEI+PJQXz6Gn/4R9+md/+7d9kcXERIQR/\n+S//tdyPca9wihLts6DdQ698fvDDF0JQKvWy6+5ULNZB6w7CzU3Fr/zO6BRbAI89Vmazsf8z39F4\nlkLoBJXsPYJth1bsjGROr1Q113Isiw+F0bz8jTaXLzpsdrxcjD+GwbcUd3PoWHzwKYet9viMUmC4\ncgm6oeZGc3xAu3rR0Azy0xafxXIzVpLbTY9zlWiostpBJFpOJV/7gdUu9pydXYUQVColhIDd3UY/\neKYZdrphSMvpNoWCh23nP2Z2sC8+SkO9F8SHMdQLhZShrrWm3e7yxS9+katXn+TChUdzDdxBEPCT\nP/k/83M/9xlc1+Xv/b3/hpde+gO+/du/I7dj3EtMQk580HEWtPewT0ZLby7XTW/wMIz7LkNTrnxo\n3UGIE8PP/mowwAzk8DoffNIh6gSUjKHVUdzdVXTDQeuG2BZcWrWoVm2UcFMBj72AuVpV9yZgA3bS\npdkxvPpWxBOPKAJRzFW7vIdLCwlvvz/7OueXJNudbJWMpx/R3N51+wIno3BxUdMM8iPhubamM0Wp\n+iAMabl8uRgh5XBFFlsY7nQnr+6slmJWSvNVGLMsSbVaJoriPrt7EHrB+eiYme+nY2Zamz47PY8x\ns2EM9ULBP7T2UYY69BjqFnEc8Vu/9UV+8if/F6SUPP/8H+OFF/4YH//4n6VSqcx0ft/85itcuHAR\n100/1w9/+AV+//d/5wEO2qcn1T41QTubPWd6o6XkEUGr1Z15B5dlA/9v/l3Ira3hxzlfCQk7Xdbf\nrhJlfAYmCq5tKNhIR2kKHlxctSmXbZptlzxkPcdhpRjyrTf2dyLv3FSsLrYo1Uq0o/ykNoue4f2t\n2W9aKWBp2WO3MzqwWiKVk62HpUyjVLbU+K7KFNyzYBRbfBrc7bhUvISCmwyYvTbsTnEsWxqeXh0e\nRPNAr7zcbnf7pees2Jc3HT1m1iunz/ocEEJQLpdwHJtGo7U3Kw7DGeoKISz+7t/97zHGsLGxyde/\n/lVeeeXrPPHEVV588dtmOp+dnW2KxWL//0ulMq+/vj7TmvcTZ0S0UwrHsSiVfMIwpt2ecZZqD+PG\nyV57L+G3vzK4prtajtjZbPD1twL++EcusT0Daawbwts3Eh6/kLC50+axR0tsB7ObfgxDwVG8c+14\nL3Nzx9DqtHjs0ULmjHYcKp5me2f2dZ590mG7M3ozUXJjmo0I/2J5pD3nQVxZjQ/Nb88CiaGT44an\nh2Zok2iLhWJEcjA+GTnVaNrV5QAvgyHItCgWC3ieQ73eGjsXnQWjxsx6BNRxY2bDIIToz3PX6429\nltlkDPXLlx/l8uVH+b7v+49nfq8Ai4tLdHquKkC73WJxcTGXte8HzjLtUwYhBFJKLEvmkl0fxKhR\ns05g+PnPBccK58ulmE69wSsvp5nKiy8scyMHlvfFZXjreoIBvvFqi6cei5GFAu2cHaGM0Zhg+Nha\nN4TX3+ryzFXFVne8UcYoXFxIeOf92W/Y5ZqgHg7fRBijWfQj3r6peH7NG2nPeWjdckI3yS/I+o7O\nNcs+iG4sCBsu5ysxiTFYwrCZkUF/EDU/4VI1n03vUfT61wC7u825ZViDx8wcbNseOGY2zC3Msiyq\n1RJhGPXnugdhFEN9Hm/xQx96no2NW0RRhOu6fOMbL/OpT/1g/ge6RzBniminB+lO2kNrQxDEcyA0\nDO9j/sJvBOwe0BNfLCYk7SbffGV/NqpWdWhEPqN64llgSUM3MIdWefNaiGOHrF31qSfFXCQ/AVZL\nId96Y/R1NAZefSvi6mVFl+n63EVPcyuHsrgQcP68P9DBC9IZbh2FvHEdzi1JIuFn+jik0FRLJrey\neMFR7HTne8tqI7jVcLm4oGkFMGkPXmBYO9edi2HJfgCM6XTmW3o/imEa5Y5jUy4X9+w+k0N98V75\nvtXqDFFMHI20QifnQt70fZ+f+Im/w0/91P/KwsIiTz759APbz4YzItqpgBCpxKFtW7RaAa5rz+VB\n0yuFHcVXXov56mtpg1oKw4rf5pVv7h7bVT/73DneuTV7YLpyQfD6e8ezgTiBb74esLIYcf58id0J\nvaqPouwlvPFO9izr7Rtpn7u8UKSVMXvtoWgrtnNI6D70lDuULb7gR1zfiAkigRCGK4+VaGUsiz+x\nmhAkEov0umsNSkGsIIol3VigNCyWNEXPgBRDZ6cFhiCW3Kt53bu7mkhJXNdMJIF6ZSmk5Ob/APU8\nl1KpMHUAzBtHGeBCiL53d2/MDCAMo4nGPvfXh5R3Mr8Z7Y985E/wkY/8ibmsfa9xlmk/hDh4v9h2\n2ruOooTGnuKHMdZcZiEHmYbUW5rP/EZaKiv7inB3h5ffPF46++AzC7kE7JWa4O0box90WzuarZ0m\nT18JUG6ZcKqSriZodplUy2Jzx7DbbPPUFZftwMuU8efFFl9dlOyGx0vAltAUZMAb16D30Pxjz3qZ\nNhauTHBFxNu3/T0XsNHX8s4BH/SKr6gVNY4Dysh+b6Xo6qnmpKeBJxW3dmwMgoKjWa4qogze5SVX\ncWVxjDLQFCiVCriuQ73ePLEZ1UGTk0qlRJJApxNg29ZecmBnHjPbD9jzJ4s+LDjpPe21tbUngX8I\nfBW4DNxdX1//B9OsdWqCdg/Foodt27TbwaE+lDE9wYS8cZyI9vOfD+gEcL4a8cb6Fu3O8QeR71sk\ndolZy+JgcB0xZpxsH2+8F1PwdnjyapmdCYlqK4WQb92c7qEaJ2m5fLmWcPFigduN4V/Nkqe5mdH3\nexSEgNVV73BZ3GiWy5rbWzEbBxQwzy8LQkZfD0/GBJ2Yt7Zg7XHnmG1nFjQDi2aQBkhbGhZLinJB\nsZMTaW88DM2u6LPIu7Hk/W3BpcWEyIwO3N9+VVLxiofkRGdBj8BljJlr/zovSCmpVkskierLp8Zx\nPHbMbGvrLo1Gk3Pnzp0F7ClxUjdzB7AE/L/r6+v/GmBtbe1ba2trv7q+vv6VSRc6NUFbSkG1WiRJ\n9rPrw5iPk87R58yXvhbx+rWEVb/F179WH/q6F55f5d0x6l5Z8PSjNq++PVn20w3hj15r8dwHEnai\ncqbXVLyE1ycoiw/D3brmbr3NlUsWwi0MHA3z8hJRueqwfaAsvuBHbO8mvHaE9CcFPPF4mfqQUTBf\nRjSbMde203Lm05fp22TOgkQLNhsW7QCMUSwvQGzme8t6QnH3iMmJNoIb2w4XajFayIHMysu1EMfE\nKDXMYvO4ytco2LZFpVImDMORBK6TAtu2qVZT+88eA/0oho2ZfeUrL/GP/tGncRyXF154kRde+Da+\n7du+ncuXH72Xb+GBxknf0K2vr//hkR9JYCph51MTtLU2dDrBUJZn+qHPpzwuZbprvrOt+eKXu4j2\nXV55Y3ggXV5yeW9z9p12pQTv3JiuXGkMfHM94KnHFJFTGWiy0YNA06p3MmfzWfDe+wrbavHUFYfd\n0E9LxcClxYS3b86+/sqCoB6l2WvNi6g3Et64M/hvX3zWpT7AirLkJOzsxlzbhl5mVPQMMbPxAg5i\nuZywsZvepo2u4dJSjO1aE+uGZ4ErFbd2hz8SNuoOtUJC0TeoA8f3bc3V5QClODQ2dXz2OZtPtu+7\nFIsFms0OcXz/+9fjsH++7Yl0zntjZn/yT34Xn/3sd3H9+nW+/vWv8/LLX+Xf/Jtf4p//83+BbZ+a\nR/RM0MmJz7T7WFtb+xTwa+vr669N8/pT9Y2I4+FOQ3m5gA1bV2vDZ39jl7fXN+kEo79gV6/WuLY1\n+7GXK/Dm7mxrvHkt5vxyncpyhW48+Ouy5Ie8ejP/nW6i4LW3Y2rlhIsXPELtcON2PmXxc+d8VBLT\naiW8OSRYA5xb+v/bO/Pwtso733/PLulIsh3vdmJnt5M4CSEkEAgFWqAtnTKEtim06bD10vswLWu5\nQykdCm1pmUsvTGlhWuC20Bk6pDx0mJY2QDshHS6B7IuzOHYSx4njfdG+neX+cXy02JKtIx1ZsvV+\nnifPEy+RXilH5/u+v+X7mxgWt3MS+gbD6HJPvGAWz+Mw6DNHUHlWwZAnPtJA4fwwC4FVUFceQYQy\nMcetqvAHqSm96F0BFsGIgkqnHA2XL60MgEnyksf3PjMMPaWBie7FPTrqydqVbDoQRSs4jst4vXo4\nnKIoNDQsQEPDAlx//SbT1znbUQr8pK3T1NR0FYCrANyb6WMUlWhPRu4GzWsn+P/88zDe2T6JOsTh\nSVIYZRSOUXGuz5yjb9+QDF/AjQULHBOKoZwWc8Lik+HyqnC1B7CwPoAyCw0ZLFwBNqOcMQUVzY00\nPO4Qeoam+F1KxfwGMWqiQkMBq0Rw9FTyEaN1FUjLszxdRF6GL0mLV0iicbqPRoVDgl2kIE1R6JYO\nAiNjyJ3edReSaHSPUKgvjaDMoaA8TatSWVYgy+GoLXCigYkVNK1NyAoEQjnZQJtJrF88ZphiFJK/\nNg+l8HPaaGpq+gyAywHcA6C2qampsa2tbafRxyGiPUauRFtVge7eIF77fXruKIsW2jFifATwBOqq\nKJzsyv5xdLx+BUeOubCqWcTAmCEKTanwjAQxHZ+X+bXaqVsjBJoCqssZlDhZUAwDd5Ada4nSoKDC\nYVFg4WRQqoJwWIbbK4NhaZzudaQVyr+gOWaiYuNk9PWHMOJN3oJDUyrsdj7tdrCpKLFI6HdN/vEc\n9DAY8amYWx6BzLBJ15UOHC1HQ/DpoqoUBjwsLpqfui5jKnQDE0VRwPMcAoEgZFkbp2m1Clm5kOUS\n3e98KsOU1OjT9Yhgm0UuRiWbSVNT01oArwHYA2A7ABHAzwAQ0c6UXIXHFUXBP//fs4hI6V1Ucyrs\n8KZ3IJ+UcNJBItmhKMCBoz4snR9BgLZjjiWMo+dyfyMtc6jo7E7MbSoq0DMoo2cw9vwVZTScIgOv\nX8awS8HguKXRFLBsuRODScLa46kopRChLYCiwEZLOHFagjJJ6HhpAw13yKxTtop0J8DKCoUzAywc\nFhkVZcYL1bSxkZj0taXiwgY/hCzvIBaLAJvNkpAPHu9CplVcay5k8QYmqepTcknM79xveEyvhgpV\n1fuviWCbRaGftMeqxNOr6p0CItpRcnPSfnvHCFrbvGn9riDQ6B3J/oNcIsK00HgyTnSGsah+GF2D\nNKbqQc4eFSwlIx0/Da3XPPWHd9VyO3rc6by/KhbNFxGWFfhcYXSNApOdYh1WFX7JvOKzSruM8yPG\n3ldPkEGgT8X8WgVBA17hVkZGd5ph8XjqS8NoKM+uSEzLXzMp88GTu5CJoGl6TMAntxI1C6vVAotF\ngNvtzei5EsPhBR7/n2HIedjA5YuiEu3JTtO5qB4fGo3glTd60/795qYS9Lqn/r2pKC8BhrIsQJsM\nilJxtnMUHq+MxoUVGMrAnzpdFtQAbZ3Z76JrKln0e9Nb55pmAYqs4lRXGFIaefN5NTRGTZqTbeWU\nBLMVI0gKhY5uYF5FBArDTrkJZSkFfVOE4JPBMQrWNvqn/sUUxPczj46mnwtKdCELTLASpWkmwUZU\nkswbC+pwaJuE+HndRpgOh7NiptBbvsykqER7MswOj9M0hV/+dgD+QPqCQ3HZDc8AAKgqBoZzGyqq\nKwnhwGHt9HP0SB9Wr5yDXo9tin9lnHKnipNns2/5oWmgvMqeVlh8jgPwBSl0n5OQzs2VgoqgbJ7x\niYWT4fZn97E8O8ii0inBYmOgThKClSUFUhpOZ+NZPS8AK5/ZTZLjWDgck/czp0syK1FdxEXROjaT\nOtEP3Ciav4M9wTDF+DoBkr/OLTOp5StbiGjnAJ7nsOugFx/uS79Ip7pSmLKaOR1qKymcNcH6NBUO\nq4xjbbFwgCwD+w4Mo6U5glHZCUUxZ+dDUSpURTal93vVcjt6XFPfMKvtYYglVnQbGEIyt4pKKIDL\nBo5WMOg2J90w4GZhDyuoKJMhJXEyszASul3GIyRVjggWVWbWLRALL/tMPQXrTBRxzfQk3g88fjLX\nVCKuG7wEApluMEjB2XShqES0i5JMjP3joSgKomiB1y/jp786Y+jfNswvQZcJ4zd5JrdhIjriQyg8\n8Tlaj3vQUB+GpaQc/lD2N6jF9QyOdGR/yq6rZtHvmVycOEaBTfVDlhn0jRoTTaedwYhJA6ecVhl+\ng0NTJsMbpBHqVzG3UkIk7qPOILPNAUOrWDffeFicohDNQbtc7mmr9NX6wBPFOX5GNsuyYyKu5cUl\nSYq2bukDSowapsQ9Oyk4m0bISbtI0UPkmWi2PuIzFIrg+VfOYNSd/hGRooDRLEOiAMBzKs725q4g\no64sgoOHUitUV3cIpZ5+NC6swIAn89dTUaLi+KnsrSsZGigtt2PIk/r0Xy5KOHdmFL0hFc2ragED\nByoLr5piV6oTDJuf64zIFDp7aTRURiAz2uaFUhWEJOOn7Jb6AOwWYzdHhqHhcNghSVLG4WUzSSXi\nVqsFHMdGC8xomiIFZzMIktOepUz9/6oXo6V/ASSO+Axg1BXGjo+M9a42N5ViOCMX2kTqKih0mNib\nHY/AKTh9aurXNeqW4G3tw6qWOej1GM/R05QKOSKb0vu9cpKwOE2pmCMEcPCQB6oKXHZpJQaTWJVO\nxrxqCj7JnJuyjZcxaqIxSzwqtLaw+nIFog04O2hcsOeIEpZWGwsRx9qjAtEK8EIjXsS1ASV2UBQF\nWVbgdDrSnsylQwrO8gOpHi9SjBajsSwDm82CSCQ2hGTHRy5IafZk6zhKrBhOcrAUeKCylIbdRuFM\nj4zAFPfMgIGiN6OU8gGc86b3wZAkFfsODKFlmQNu2QHJQAtSQzVwwoRq8bpqFn0pwuIOiwTvkAcH\n2jUhaZhrwVDAeMsWw7KASalZK6fAleMwas+wCstoBBarYKgtjKK0sLiRIXg2mwWCkHl71HQTM0yJ\nwO+PRZNik7kE2O0iFEVJyInHizgpOMsfSoEY70wHRLTjMOKKZrUK4PnEEZ+KouK9D42dskUbDVAM\n1jTRqK/iUV3BosyuoKaCQ0UZHw3ZhUJhtJ8JofVkGG1nZHT2KIhvbS1zAN0DuRHtKqeEI0fT6zWP\np/WYB2UlAcxfUIo+z9RjPitKVJzsyj6PzdBAeZUT/Una3qrEII4cdSMU0W62FAXUN87BsM/Yqajc\naWJoXFUxapJf+WSIXBine2gIXAiNtQwCSnpV7801QZTa0rsp6vaeFIWM26Omm8kiAuMnc7EsA5aN\nTTK75557YLfb0dKyCqtXr0V1dW0+XkLRoxa4I5qZENGOIx3RZhgaomiBLCtwu31QVd1CT8XpswF0\npjlVi2GAj19aghs/OQc1VVbY7TYEAiEEAvqROwy3W7uB6Hm3lqUOrF6m9aJ6vBEcORnA0VMRHD8j\nw25RMTCcxYufhKDXl1GeHwBGXBJGDgxiYaMVgrMErhS5e9PD4uMEu1yU4BnxYV9HYkjjojWlCeM5\n06W6nMaoSRMjy2wy+k2qGk+FwMg4269d26EIhfYuGQvrAwhBAEWl3jA4rQrWzJehyFMXaOqn1XA4\nAp/PpOq8HGPUMEUXcb2a/Pbbv4o9e3Zjx44d+MlPnoHVKuKmm76Mz31uc66XToijUCxupwMi2nFM\nFR63WHgIAodAIIRwWIuLKooKRVFAUSre+3BqZxSaBj623onPfXoOqis4iKI21cjl8qa88GJ5t+BY\nGwsHm5XFpWtKsHGt5grVdsqPl3/vQZfJhWh2q4JT7dmr06kzATB0AC3LnBiN2BEZF55trDbHRKW2\nKrFa3CmEEfL4cbBj4maqtIRFiLEDBp+WosztzVYN1FBk/BxSJCFNoYLCyW6gvjwI1iZATtIWBqi4\ndEkYok0Ay04eGp4J+evx6IYpmVa0qyowd24j5s5dgBtu+CJUVcXp06dyNHiIMBnqDJgIZxZFJdpT\nnRZTnbRpmorOA3a7/VBVNXq6VhQVFKVCklW8vyd1dSxFAZdeaMfnrytHXTUPlmXhcNgQDkcwOpq+\nDVpsnGGiocTiRit+eK8d7+z0Yeu2UQRM8h4vEcIZn7LHIyvAwSNulDh8WLioFH1jhWqVpSraTQiL\n0xQwp1IzUdHE2oejHakFZPXqCvSmYbgynnkm92Ynjt80H4cQxunzydfbPUSjJBhCRTmPsJJ4O1hY\nEUaJEIB77PJMld+laRosy0y68SwkaJqCw2GHLJtrmEJRFBYuXGTKGidjaGgQL7zwPDo62vHii68A\nAEKhEH72s2dQWVmFs2e7sGXLrWhoaMz5WgoFktMuWiaKNs9zsFp5BIPh6IAARVGhqsrY72u/t/ew\nD54UhVrrVovY/JlyNNRpxU42mxWCwMPrzbQHNG7F4wwlNrRQWLmoDFvf8WNXa/Yn5O7zmdtVpsLl\nkbH/wBDmz7PAXlaCSJiCGRvlVSvs8AZlWCQXjp2cfLNhtdIY9GV2+TvEwu3NHg9NKRgaUTBZcZTL\nR8MfjGBBvYyAol2jFk7B6nmJL3Jifle3D9UqpR0OMeVJvFDQDVOCwWD0dRgl3wVnhw4dwMaNV6C9\n/UT0e1u3/gbV1TX48pdvwcmTHfjRj76H5557MS/ryweFPuXLTIhoxxF/j6EoCjabBTRNweMJQFGU\nCafreJKFxmsrOfz9LTVYMl8rwtJ6VkXIspKzIh1FUWETZNz6WQHrltN47Z0gBkczU8RKp4SjJtiI\npqLzbBDNrIzhkQiqKiygOQGuIIdA2NjNkGcVVM6h4Br2ob0zvcjA8mYnvBnM47YKKlwm9mYHctCb\nHY/IRtAfmPr9jMgUTnSpWFgbQIQWcGGDHzyb+o1kGAYOhy2h2tpIpXU+MMcwJf8OZ1dddTX27duT\n8L2dO9/H17729wCARYsWo6OjHT6fF6JoymCpgkeZAR0KZkFEOw5VVUHTdIJRis+nhVc1wVbGQuiJ\n/27ULeHA0cRG68vXOfDVm6pgEbQPtz6CcDpzfisWcXjkqyy2fRDCnz8KGbYEZdXcCTYAlJcyON7u\nRSSiorsnFhWoqeJRVWUFIwjwBDn4xkZeWngFDkECS8mQIxH4vBEMDYfQ65ZQemE9Os+mfyPmbVYg\ng974BXUcvGFtspeNV2DlFVg5GTZegSgosPEKLJyKIS+D86Mcukc4+FNsQsQc9mYDgIWV0GVwzOup\nHgoXLPRj3pzU//e6+Hm9/miEB0heaV0oIi6KVvA8B5fLAzmjasfCdjgbGRmGzRbz/xdFESMjI8Uj\n2iQ8Xpyoqhqt1PZ6A9EPt37KHn+61vnrLk80vCvwFG7fXIUrL3ECiG+BoVKOIMwlPEfh+issWN/C\n4ZU/BNB5Pr2Lm2NVnDhpvM3LCDZeQW9k4nva2x9Gb39sY1NexiEUVtDjS772Cy6owLn+9N/Xmioe\nwwZD41ZexYWLJKxeEITdqg+m4MDzLCiKjTPgUCDLKubOkTB3jgQggFE/je4RDudHOQx4mLHTGmAT\ngFETTHVSoUQkyIoxgWEZFesWp978GBG/QhBx/fMHAKOjniwndBWuw1lZ2Rz4/bFUls/nQ1lZWR5X\nNL3895uXF+Z/TA4oOtFOVSHOsgysViFabAbEWrlUVZm0qlwPjTfW87j39lrUVWuVxXpFbTAYgt9v\nUn9QhtSUM7jvyyL+/e0Adh6a+gRdW6bg/OncbTCWNHA42pZeEdDQSOr1Oh0sRvw8jLjYLVzowFCa\n/x1Om4p1SySsbJTBjX1a4usIfD6tsInjuDE7TAEURUX9rMNhCaU2BaW2EFbUhxCWgB4XhwGvFV39\nubvP2DgJXb3GT4Trl0ooESe+l5pbmAhVVTMWv+kWcTNa0PKdv06XDRs2orX1EFavXoOTJzuwePGS\nojllFxvUZB+MgQHPrMvuM8xE0daNUoLBcPSUHd/KNRntnUE88tRZXHt5Cb5yYwV4jgZFAaJoA8ex\n8Hh8BecI9d6eEF7/S3DS4i875cLprtxsNKwWCpDCcHuyf182XDoP7QbC4hQFrFlfD98UQ00qnArW\nL5WwbK4C2uD9Wk+x6KdxAFExUhQZoihCkiT0DAbwYbsV3SPmzyO3s0F09hlbeKmo4NZPhMCOi9jr\nxVuhUG43n7qIcxwHlmWzEnF9BGg26ahCFez9+/di27a38NFHO3HDDZ/DzTdvAQD89Kf/jPLycnR3\nn8NXvnJbwVSPV1Y6iuYUPB0UtWgzDA2bzQJFUeD3h8AwdNRoYbJweDyvvjmIxfMtWL9a29VqNzgR\nkYgEn89vWruU2Zw4I+HF3/nhDUxcoMMm4/SJwZytfUkDg6Nt2ceFm5tKMeg35m/evESEKs5J+fP6\ncgUXL5WwqNa8KIMu4haL1uqnn9T10/jJPha7TloMF+ClRFXg90XgDxm7V27aEMKimsTXbbHwsNms\n8Hj80TbD6SJTEbdaBVgsFng8mVqoFkbB2WyBiLa5FK1oCwIPiyXRKEVVAadTa2GJD29Olof2+WWI\nNu1oYrNp7krjC3QKlSGXghfeCKCrN/GkWlcSwMHW9HvHjTC3hkVnpzfrDQHLUliyvA4DI8bEdePG\nagx4JxqjVJYouPqCCOaW5+aS13PBmke9Gg2nc5wm4l6/hPePAse6WWSbN3XwYZzuMfZvFtXI2LQh\n8URqt2vGP9omNv/mFemIuLZmJrrxNop2XerDPohgmwERbXMpOtHmOG3mNQD4/cGxMHhiK1d8jlIL\nbzrpbMoAABzLSURBVKqIRKTo6Wj8e0bTWiuXqqrweHx5b21JB33NwZCE5/59CHuPjW0yVBWKbxhD\nIyZNwkh4ThVzRBU9/dlXz69bV43TBnO2NhuNBc11kJTYPYSiVFy8VMalyyQwObhH6++zoijwprCD\nZRg6er0NuFm8e0CddJzoVAhUEN2D6b8YllZx69UhlI7lsnXzEUVR4PHksFIuS8aLOEVpRaM+XyCj\nnHhMsAu34GwmQkTbXIpOtEtKrJAkKalRSirib6ocp+/wNRGnaRqiaIXfH4z6ERc6estO/Jrf3hnE\nf+4IocopobV1KCfPu2KJFQcOjWT9OFVVFjBiGYy22l60phQe1RH9eo5dwacviqBuTm4ucz2vGggY\nM/KgKAZHzgvYe5KFrBi737G0jIEhydC/29AcwWXLpKzWnE/0nHs4HIaiKBnlxAs1fz0bIKJtLkVX\nPe7xBKKFRVO1cunIsgJZDkUFjmUZ8DwXbeWSJBk0TYFlmYIrOotHL5BL5nX+yQ0W1Fcy+N22gRw9\nu4pz58xpIWuYPwedPcaFlrPZxnqzVVy4SMbHWiRwOWqTjo2m9EGSjO0uVFXG8lo/5pbS+H8nrOhz\npf8xtbHGBLvEpuXwgZiXQObmI9NPsp7xdKrT49NXRLAJM4miO2lrgh0zSskEjmNht4vRatr4nl2a\n1qZw6aH0QvFi1gvkwmGtQC4V5/vC+Kefn0d3r7kGMA21LE6eyl60S5wsLGWVhqeB1dXwcNRUw2lT\n8em1ETRU5iZHG98XbEaqRFGBXSctOH4+zXnfkSAG3emLz3Vrw1jeIMflgn0Fkb9OB80OmIPb7U3L\nMCU+nH7ffffhzJlOrF69BhdccCFWr15bVH3N0wk5aZtL0Yk2RSljfdcqMslb6QVFHo8/6QlKH+AR\nM96gEvLh+bghWq0CrFZL2gVygaCCZ3/Vg92HzMtnLp7H4NiJ7B9v7doqnOk3fjy+bEMFaqs4XLVK\ngmB+hxWA3LZGnejh8GGHFYqa+pq1Cwo6z6d/QhY4FXd9JozyMhGSJMPrNd9nPheYsTGKRCScOnUS\ne/bsxf79e3Ho0AGsXbseTzzxv81ebtFDRNtcik60tVO2OuHvU03T07yWtf5aI61csZ5dTcS1dh8p\nGqbLZdEaTVOw20VQlHZzM1JNq6oqXv/jMH77x6GsK70FHogEwwiFst+wtFwwF71DxqIXTjuFu75U\njsVzc3fviIWWc9ca1e9msP2oLWVrmNHe7AsWKth8lWVG1WPQtGaYEomYYZiiV4kDkiTB6/WitLTU\nrKWmxauvvoKenh6Ulpbi7NkufOtb34EgWKZ1DbmGiLa5FKFoj0fFeCGPP4XLsoyhoUE0Ny81pZVL\nL2rjeRYsy0FR5AQRNwvdjS0QCCEQyPzUt/uQF8/+qheBYOaCu7SRw5HjmY1AjKexwQ5fXCFZOqxZ\nxuPvrnfAIeYmX0lRgN0ugmHoaQkt+0IUth+1YdAzLs+dQW/2nZ9hMccWMJxzzxezzTBlaGgQW7Zs\nxltv/Rk0TeOhh+7Hxz9+Da699tP5XpqpENE2l/xfuXlHb/Fgon9UVfOH7u7uwd13fx2/+MW/YHTU\nbUrvtSwrCAZDcLt9GB4ehderzee22SwoLy9FSYkdVqsF7HhbKgOIohWiaIXb7c1KsAFg3So7fvi/\nGlBblXlM2ecz5+RZXZO+YFsFCrdtcuDvby7JmWAzDI2SEicURZ02X3lRUPGp1T4sqkoULYdFMiTY\nFU6goYqC02mH02mH1Spkdc3lGr2YzO32zgrBBgCLxQKO4+DzaWmjQCCABQsW5nlVhEKHnLRTsG3b\nW/jpT5/Gli23YPPmm8dmBuuh9Mzy4enAcSx4Xmsvo2k6bhBFZMpim/jRn/pmwCx8ARnP/rIXe1uN\n5aXLSxn09mSfy2YZCvWLauFL4uA2nuWLLPj6liqUOZGzYRR61fJ0Tm0bz5FzPPacskAFBQFBdA+l\nL0Ybl0dwSZMUV4OhpXBomhorpJQKppAyW8OUQp7QtW3bW3jnnT+hvLwCqqri/vv/IWFa12yAnLTN\nhYh2EmRZxuOPfwdbttyKJUuWxv0ks3x4pug3VF3EKYpKsL+Mv4HpdpO5FBFVVfHaH4bwxrbhtPPc\nzfM5HD6WfWi8ZUUZet2T5/pYBvjbj4v45GVW8DybYLwhy3L0fcs2DRHzlU+vajmXnB9h8H6bBd19\nctqtXhRU3PmpIBxJHGDjCym1jSNlaONoJtqQkuxMXgrZMKW9vQ3f//6jeOmlfwXLsnj22afBMDTu\nuuuefC/NVIhom0vR9WmnA8MweOyxJ5L8JFa4oqFPAYv93cxTePw0KSBW1MbzHETRCkVRIUkSGIYG\nRVFZzApOD4qicNNnK7BiiQ0vvdaP7r6pNgcqunsyKxYaD2+zAe7Ur62+isFXP+/EvBrtkp44UYoF\nz7Ow2axj/fRStJYg3d76eHczl8tdEL7ydWUyPrnSh//wCRhwp3fdNVQpSQUbSHbNpZ5gpp3Ec3O9\n6ZX4wWDmNRnJCs4KiYGBATgcTrCsds2Wl1egv783z6siFDrkpG0qkxe1mY0eolVVFRRFj50mYw5Q\nuUSSVbz1lxG8/qchBEPJL5PGOg4dJ7M/ZZeWcOBLK5JOJaNp4BOXWHHj1SI4Nv33OVlvve41nywk\nrBdBFWqldUQC3t7P4fi5qffhn7kojGXzMgt7TzbBzKyWRkHgIIq2rAo/Cy1/nQxZlvHMM0+B53k4\nHA6cOnUSd9/9ACoqKvK9NFMhJ21zIaKdU/QbWHwo3RwR14eTxLtX6adJjuPAMLoQGTtNGmVoNIKX\nXx/Azn0TjVMWzWVwvD37fPZFF1Whsy+xSIqigPUrBXz2ShtqKrILGCXL68aHhAWBhyAIWUyNmj72\ntLPYcYQdm1I1EYFT8T8/HTTNCW5yEY8YzkFrTnJ82oYpyZgJgl1MENE2FyLa00oyETf2COkOJ6Eo\nJAw9yXVu8vBxP17a2h91UrMKFIK+IMKR7C+hZavqo9O8zBTrVMSHhAVBmwimh4zzZZBjhPMjPN78\nkIEvSVR51XwJ167J3QQ6raUxlhNXVTXhuksl4hSFqC2w252pk1zhFpwVM0S0zYWIdt6YWNQ21Sk8\n1nttfJgDRVHRgrbxJ6JwOGJKdbUkq3jrv0bw+h+H0FDL4ogJBWiNjXb4FAcoCljXool1bWXuSzHi\n3c2CwXBCQaAuRKmmvuUT3drzXK8Pb3zAom80Ubxu/lgI9eXTt+mYOGxHTciJq6pqomFKYRacFTtE\ntM2FiHbBkDof7vf7sWvXh7jhhr+Fx+M3pQ2Hpuk4EddvprGwZjY6NDQawbs7hvHRPjc6zwayeqyL\nL6lF+RwBf3OlDXXTINbA1IMzkgtRetOkckUya09JBv58kEPrGe19K7MruOOa/ObjGYYZ2wCxYFk2\nKtrBoGb9msl7V+gFZ8UOEW1zIaJdsGgC3tZ2DI8//o9Yv3497r33fuTqpjR+NnG2RW268PX0urG/\ndRStx31oPe7FmXPBSUW8xMmivkZAfa2A+hoB69eUoq46R2bh49DdzWiaHrN9Te9Emvy9M9/lLhUM\nw8DpFBEKReD3TzypHjjNYPshDhuaJVzSVDjuZ/o1EgpFwDD02DhNOSGcPpWGk/x14UNE21yIaBcw\nv/vd63jppZ/j3nu/iauvvmbsu7nvDweQUFwUK2pLXV2tM5Wtp8cr4UibJuCDIxHUV48JdK2A+loL\n7Lb8uHLpwhcOZx6i1YkVBGqnSb0gMByWTLcMTTaaMhnnh2g4bKlbvaabVFPFtA0QF33v4jdAkiTF\nibg6VmxHBLvQIaJtLkS0C5itW3+DjRs/hrq6+nE/yY/Jy8SiNk3E9ZtubPxn9sI3neTa3Sy+MCt+\nAxSJSFlVo+sT57KptJ5ujBqmsCwbDaePjo7im998EMuXL8PKlWuwcuVqWCyzyz1sNkJE21yIaM8K\nprc/PL66WitqU6EoKhiGzqutZyZoJ77pczebqr0snTVowqd3EJhrV5tLYmH8cEajS1VVxaFDB7F3\n7x7s2rULHR3tWLq0GbfeegfWrbskBysmmAERbXMhoj0rUTFeyHMl4loBlA0Mw0CWFbAsA0VREqqr\nCxGtYln3afflzd1Mq+qPncQ1q9rYSXx8eiGXM7tzid75YI5hilZw5vf7cfjwQVRX12D+/AUmrnZq\nuro68e67b0MQBBw4sA+3334nli9vmdY1zBSIaJsLEe2iIDcmL6nC4fF5SY6Lz+nmzuTFCLqAFKK7\nWbxZCc9zCX3ONE3Bas3tzO5cEDNM8WXc+VBIBWeyLOOhh+7Hk08+DZqmMTg4CIZhUFZWlu+lFSRE\ntM2FeI8XBfE3uol+6YDxfLjVKsBqtSQ9OcV8v7Wv9VCw3W6LWobqp/DpniKl9TFrjluFsIEYj6Io\nCIXC0RSD3l5ms1lA0zQURQHPs6AoFFyP+Hhi1fgURkc9WRimFFbB2bFjR6GqKl5//TWEQkE4nSW4\n/vpN+V4WoUggol10pBp6kl4+XA+HUxSd9gxp/aTo9ydOkYofQJFrt7FYHhgYHXUXtNjFo6oqBIGH\nJMnweNxgGAY8z0bnSyuKnBBOLxR0wxRJkuByZWplW5gOZ319PWhtPYzvfvcJ2O12PP74d8BxHK67\n7rP5XhqhCCCiXfRMFHFN0CaK+NGjraAoYO3adfD7Mx2VGJsi5fPFh4O56PCTeBEyQ1xZVhv2MdPy\nwPqQkngHPFmWEQgkTi/jOBY2myXn7WVG151N+iExHF5Y0VWbTURj43zY7XYAwKpVq7F//14i2oRp\ngYg2YRzjRVyBLCv4t397Ga+/vhU/+MET8Pv9MOtGmiocbLHwppwk9TB+KnezQmUqVzYdSdLEeXwq\nQhStpraXmb3uySik/HUyVqxogcvlgizLYBgGvb29mDevId/LIhQJpBCNMCnBYBAPP/xNBAIBPPbY\nD1BVVTX2k+kxedGL2nTby3TnYFMUNZZDp+HxeA1Pm8onqYxHjGJGe5kRRNEGjmPhdnszXnehC7bO\njh3bsW/fbpSWlqGvrxf33fcgBMGS72UVJKQQzVyKVrR37/4IO3ZsR1lZGSiKwu2335nvJRUkbrcb\n77zzR9xww+fBsuMDM8aHnmRL/OAOmqaTipCZ7mbTid6GJkkyvF6/6Y+vi7j+/plVT6DXCyiKmkX7\nXOEVnBHMgYi2uRSlaAeDQdxyy0349a+3gud5fPvbD2LTpi/goovW53tpM5zpNXkZL0IABUVRZqTJ\nixl5YKNMnIWd3hjNeLI1TNEozIIzgjkQ0TaXosxpt7YeQk1NLXhem5W8cuVq7Nz5PhHtrJmYD5/Y\nWmaeiMcXtQGAw2EDy3KQJAmiaIXVasn79K10sFotsFgEuN2+aS0eS1VPwPNaTnyq6WXmGqYUXsEZ\ngVCIFKVoj4wMw2aLeRaLoh0nTrTlcUWzFfP7w5M+SzSsrGBkxBX9/vj2qGwnl5lN/FQxl8ud97y7\nLCuQ5VD0pD9ZexnHsRAEHi6Xd1YYphAIM4WiFO2ysjljFdAaPp+XuBnlnFT94bG/Z3IKn8zdLFl7\nFM+zsNniK6unLmrLBQxDw+HQ+5g90/rc6TLx/dOKAh0OERRFQZJkCAKHSIQyvAkigk0gZEZRinZL\nyyr09vYgHA6D53kcPnwQmzZ9Id/LKjLS7w9PheZuxqXtbqa3RwFBUBSiVqu6a1cuK6vj0TcaMy3v\nrigqBIFDOByB1+uP5sONbYJIwRmBkA1FWYgGALt3f4jt2/+C0tIysCxLqscLjtRDT4aHh3DmzGlc\nccWV8Hh8puSqtcEd8ZPLEA2lh8MR0/Lhmg+3AI+nMG1UU8GyLJzO1IVyk7WX9fT0oKSkFDRNkYKz\nIoQUoplL0Yo2YaahnXz37duD733vUdx662244YYbc/ZsNE0nTN9KLMqKGG5r0uxfRVAU4Habs9GY\nLiwWHjab1ZBhii7iNE3hi1/cjOHhYaxZcyEuvHAd1q5dj/r6uaBy2eBPKBiIaJsLEW3CjOHVV3+N\n1177VzzyyGNYt06v9J+e/nAtn6uJOMuyhoraGEbz4Z5pfeMAIIpWcByXtWFKX18/9u7di717d2Hv\n3j247LLL8eCDD5u8WkIhQkTbXIho54nu7nP4xS+eQ1NTM/r7+1FSUoLbbvsf+V5WwaKqKp5//if4\n3Oe+iOrqmvE/xXT2hwNICAXH24WGw4mTy2Zq/lqPDADqWAois8dJVnCmqipkWU5i1pN7QqEg7rzz\nVqxbdwm+/vV7M34cRVHw8MPfxJEjrfjGN+7Htdd+Ck888RjOnOnEY4/9EDU146/R4oWItrkUZSFa\nIeB2u3D11dfi8suvBABs2fIFbNiwEc3Ny/K7sAKFoijcddc9qX6K1EVt5veHA4g7YQcT8rkOR6yo\njaIoMAydVVtUPtAjA6FQBH5/ppGB1IYpFEXlRbAB4Be/eB5LljRl/Tg0TeO7330Cn//832DNmgsB\nAHPnzsPmzV8igk3IKaQaJE8sW7YiKtiAtnO3Wq35W9CsQhcKBtq+lIaqMlBVCqqKuDYzc9BNXny+\nAEZH3XC5PGAYGgzDRC0+7XYbeJ4r+Dwuz3MoKXHA7w9kLNjae6yfrgvnFrNt21tYtWo1amvrTHk8\ni8WCa675NN588w3IsozOztNYvHiJKY9NIKSicD5RRcyOHduxfv0GNDbOz/dSZim6eDBjf5KJuDlo\ntp52hMMSRkZcGB52RVvSBIFHWZkTpaWOsVxxYQW6rFYLRNEGt9uLUGh2OZydPn0KZ8504oorPm7q\n427a9Hn8/vf/gffe+y9s2HCZqY9NICSD5LTzzL59e/DXv27H3Xc/AJome6jpx7x8uCDwEEXrlLae\nukkJx7FjRW3pTS7LJVpYn4bb7c24sr2QDVNefvklKIoCluWwZ88uSFIEV1xxFTZv/lLWj33vvXdh\ncHAAv/zlq9F2QUIMktM2l8La6hcZH3zwPg4e3I977vkmhoYG0dvbg5aWVfleVpFhTj5cFK3geQ4u\nl2dKYxZJkiFJ8oQZ2NooUWZs/KhWmZ7rXDhNU3A67ZAkOStntkIWbAC45ZY7on8Ph0MIBAKmCDYA\nXHfd9ejsPEUEmzAtENHOE8ePH8Ojj34LTU3L8I1vfA3BYBA33vgFItp5x9jQE4/HDVG0gmFEjI56\nMjql6kVtfn+8SQkHq1UARVHRU3g24zOTwbIMHA47AoFsJovNrAld7733Fxw8uB+RSATvvrsN11zz\nqYwfq7v7HOrr56Kt7Rg2b77ZxFUSCKkh4XECIW0Sw+itrYfw6KOP4IEHHsBll30sJ88YG5/JgefZ\nsaK3mIhnGsrWQ/lGDFPGoz21LtbFFwF95pmnMDo6gsbG+aRdcxJIeNxciGgTCAZRVRVvvvkGXnzx\nX/Dtb38HGzZsxHSZvMTGZ7JgWS5h8la64qsbpng83ow91mPh8PGRCQIhESLa5kLC4wSCQfr7+/Cn\nP/0Bzz33IhoaGuN+YnzoiVHGj8/Ui9psNgtYlh3LhycvaosZpgAuV2ahfKDw89cEwmyGnLQJprlE\nEcajn2JzZ/IyHo5jo4NPaJqO5stlWYbdbsvSMIUINsE45KRtLuSkTTDNJYownnhhmzg/HADM9lqJ\n90LXi9osFgEcZ4WqqqBpCoLAIxKJQFGM7MlnVsEZgTBbIaJd5OguUR0d7QgEZtYwi5nFxNay8SJu\n9ilcVVUwDAOGYeByeaAoavQkLorWcZPLUhe1FaphCoFQjJAtcxGTK5coQjroJ9aYU1vMpY0yxWrV\n4RDHesfdkCQZiqIgFArD4/FheNgFj8cHRVFgsQgoKytBSYkDNpsFDEMjHNaGmxDBJhAKC5LTLmJy\n6RJFyBZ13J/08+E0TcHhsEOWZXi9/rSfkWVZ8DyL9957D9/+9sNoaVmJNWvW4qKLLsbSpc1gGCaj\nV0IobkhO21yIaBMAAC+99HMEAgFSiFawJCtqm/hbumFKMBhEIJC5YYrP58eBAwexa9cu7N27C4OD\ng3jyyf+DVasuyPAxCcUKEW1zIaJNwHvv/QVvvPFbRCIR3HjjF7JyiSJMB4ltZXo+/J133sbRo0fw\n4IP/kLFhSqqCs5GRYdjtjmm36iRz52c+RLTNhYg2gTDDkaQInn/+J/jgg/fxT//0Y8yb15BRUVsh\nOpwdO3YEg4MDCXPnH3nkcTJ3fgZBRNtcSPU4gTDD+d73/hFutxs///nLcDqdyGToSaE6nC1btiLh\nazJ3nlDsENEmFAxdXZ149923IQgCDhzYh9tvvxPLl7fke1kFz5e+dAsWLVoMltU/zsaGnswUwxQy\nd55AIOFxQoEgyzIeeuh+PPnk06BpGoODg2AYBmVlZfle2ixjfD4cmAmGKWTu/MyFhMfNhZy0CQXB\nsWNHoaoqXn/9NYRCQTidJbj++k35XtYspLDC3+lA5s4TCDHIlpVQEPT19aC19TCuu+6z+MpXbsPB\ng/vxpz/9Id/LIuQZfe78kSOH8Y1vfA0PPfQAurrO5HtZBELeICdtQkFgs4lobJwPu90OAFi1ajX2\n79+L6677bJ5XRsgnzc3L8O67/53vZRAIBQM5aRPS4oUXnscVV1yMV199BUeOtOKmmzbh5ZdfMu3x\nV6xogcvlgixr4yR7e3sxb16DaY9PIBAIswFSiEZIm+effxZ9fb24/vpN6Ohox+bNN5v6+Dt2bMe+\nfbtRWlqGvr5e3HffgxAEi6nPQSAQphdSiGYuRLQJaROJRPDVr34F5eWV+PGPfwLK7LmSBAJh1kFE\n21xIeJyQNhzHYdmyFTh1qgMjI8P5Xg6BQCAUHeSkTUibbdvegiiK6Ow8jdbWQ3jyyafzvaSc8Oqr\nr6CnpwelpaU4e7YL3/rWd0iYnkDIEHLSNhdy0iakxdatv8Evf/kCnM5S1NXNxYcffoBHH30YgUAg\n30szlaGhQfz617/Cffc9iDvu+BqCwQB27Nie72URCAQCANLyRUiTzZtvTig8+8QnrsnjanKHxWIB\nx3Hw+XxwOBwIBAJYsGBhvpdFIBAIAIhoEwgJiKIdd911Nx599FsoL69AZWUV6uvn5XtZBAKBAIDk\ntAmEBNrb2/D97z+Kl176V7Asi2effRoMQ+Ouu+7J99JmFLt3f4QdO7ajrKwMFEXh9tvvzPeSCHmC\n5LTNheS0CYQ4BgYG4HA4oxOzyssrEA6H87yqmUUwGMRTT/0Qd999P+6442s4ebIde/bsyveyCIRZ\nARFtAiGOiy/egAULFuHZZ5/Gr371Io4fP4otW27L97JmFK2th1BTUwue5wEAK1euxs6d7+d5VQTC\n7IDktAmEOBiGwQMP/EO+lzGjGRkZhs1mi34tinacONGWxxURCLMHctImEAimUlY2B36/P/q1z+cl\nc9EJBJMgok0gEEylpWUVent7orUAhw8fxIYNG/O8KgJhdkCqxwmEAmNoaBAvvPA8Ojra8eKLrwAA\nQqEQfvazZ1BZWYWzZ7uwZcutaGhozPNKU7N794fYvv0vKC0tA8uypHq8iCHV4+ZCctoEQoFx6NAB\nbNx4BdrbT0S/t3Xrb1BdXYMvf/kWnDzZgR/96Ht47rkX87jKyVm37hKsW3dJvpdBIMw6SHicQCgw\nrrrq6oRCLgDYufN9tLSsAgAsWrQYHR3t8Pm8+VgegUDII5OGxwkEQn5oamq6EsBTbW1tF4193Qbg\ni21tbQfGvj4H4Mq2traO/K2SQCBMN+SkTSDMDPoBOOK+do59j0AgFBFEtAmEmcFbADYAQFNT00oA\nB9va2tz5XRKBQJhuSHicQCgwmpqargDwdwA+BeB5AD8e+9FTAHoALAbwRFtb24nkj0AgEGYrRLQJ\nBAKBQJghkPA4gUAgEAgzBCLaBAKBQCDMEP4/9bQa9l8KRW0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116cec630>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import matplotlib as mpl\n",
    "\n",
    "fig = plt.figure(figsize=(9, 6))\n",
    "ax = fig.gca(projection='3d')\n",
    "surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, cmap=mpl.cm.coolwarm,\n",
    "        linewidth=0.5, antialiased=True)\n",
    "ax.set_xlabel('x')\n",
    "ax.set_ylabel('y')\n",
    "ax.set_zlabel('f(x, y)')\n",
    "fig.colorbar(surf, shrink=0.5, aspect=5)\n",
    "# tag: sin_plot_3d_1\n",
    "# title: Function with two parameters\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "uuid": "5918f2cf-3ead-4b80-980e-4a375ee159db"
   },
   "outputs": [],
   "source": [
    "matrix = np.zeros((len(x), 6 + 1))\n",
    "matrix[:, 6] = np.sqrt(y)\n",
    "matrix[:, 5] = np.sin(x)\n",
    "matrix[:, 4] = y ** 2\n",
    "matrix[:, 3] = x ** 2\n",
    "matrix[:, 2] = y\n",
    "matrix[:, 1] = x\n",
    "matrix[:, 0] = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "uuid": "48ce242e-3411-41bf-b6c1-c8e228f3e494"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/yves/miniconda3/envs/py4fi/lib/python3.6/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n",
      "  from pandas.core import datetools\n"
     ]
    }
   ],
   "source": [
    "import statsmodels.api as sm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "uuid": "b9eb74bd-9280-4d8b-ae7d-8853911389cb"
   },
   "outputs": [],
   "source": [
    "model = sm.OLS(fm((x, y)), matrix).fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "uuid": "cc9c9f77-9051-4d82-bb7b-c646216d542f"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.rsquared"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "uuid": "b68898de-9001-4a15-a5ee-7ee50c5592ea"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  6.38378239e-16,   2.50000000e-01,   5.55111512e-17,\n",
       "        -2.60208521e-16,   5.00000000e-02,   1.00000000e+00,\n",
       "         1.00000000e+00])"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = model.params\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "uuid": "1f5d1574-8238-45e4-987d-bdb7cc6b5e03"
   },
   "outputs": [],
   "source": [
    "def reg_func(a, p):\n",
    "    x, y = p\n",
    "    f6 = a[6] * np.sqrt(y)\n",
    "    f5 = a[5] * np.sin(x)\n",
    "    f4 = a[4] * y ** 2\n",
    "    f3 = a[3] * x ** 2\n",
    "    f2 = a[2] * y\n",
    "    f1 = a[1] * x\n",
    "    f0 = a[0] * 1\n",
    "    return (f6 + f5 + f4 + f3 +\n",
    "            f2 + f1 + f0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "uuid": "fd9f8eed-1b10-4ec8-8a15-bedae7f53a18"
   },
   "outputs": [],
   "source": [
    "RZ = reg_func(a, (X, Y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "uuid": "096451ce-173a-43b5-b81f-9dac26df2702"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1c1b66ea90>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1b1e0278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(9, 6))\n",
    "ax = fig.gca(projection='3d')\n",
    "surf1 = ax.plot_surface(X, Y, Z, rstride=2, cstride=2,\n",
    "            cmap=mpl.cm.coolwarm, linewidth=0.5,\n",
    "            antialiased=True)\n",
    "surf2 = ax.plot_wireframe(X, Y, RZ, rstride=2, cstride=2,\n",
    "                          label='regression')\n",
    "ax.set_xlabel('x')\n",
    "ax.set_ylabel('y')\n",
    "ax.set_zlabel('f(x, y)')\n",
    "ax.legend()\n",
    "fig.colorbar(surf, shrink=0.5, aspect=5)\n",
    "# tag: sin_plot_3d_2\n",
    "# title: Higher dimension regression\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Interpolation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "uuid": "5e345542-f425-4630-9eae-0a446927ad73"
   },
   "outputs": [],
   "source": [
    "import scipy.interpolate as spi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "uuid": "20200433-3e90-4bb6-be5a-8e6a1360989e"
   },
   "outputs": [],
   "source": [
    "x = np.linspace(-2 * np.pi, 2 * np.pi, 25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "uuid": "6e3caa90-2a2a-4429-8536-ab25091a5640"
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return np.sin(x) + 0.5 * x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "uuid": "afdb9c45-1b12-4358-ba3e-a1bc3c4d32db"
   },
   "outputs": [],
   "source": [
    "ipo = spi.splrep(x, f(x), k=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "uuid": "7217594a-3398-4dfd-9d16-f90ee0f24bd9"
   },
   "outputs": [],
   "source": [
    "iy = spi.splev(x, ipo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "uuid": "89d96d0e-dabd-490f-acad-15bba904b546"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1b6455f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, f(x), 'b', label='f(x)')\n",
    "plt.plot(x, iy, 'r.', label='interpolation')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_ipo_1\n",
    "# title: Example plot with linear interpolation\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {
    "uuid": "b9cacc73-786b-4c6b-ad5f-e4d22729c17e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.allclose(f(x), iy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "uuid": "3daf1f42-54d8-4150-aab6-5188d1c23bdb"
   },
   "outputs": [],
   "source": [
    "xd = np.linspace(1.0, 3.0, 50)\n",
    "iyd = spi.splev(xd, ipo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {
    "uuid": "7ba1134b-ac71-4c3a-a0fc-b644c59effc6"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1b70b518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xd, f(xd), 'b', label='f(x)')\n",
    "plt.plot(xd, iyd, 'r.', label='interpolation')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_ipo_2\n",
    "# title: Example plot (detail) with linear interpolation\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "uuid": "c3d9f85f-671f-4353-beab-fad9db9f8aa4"
   },
   "outputs": [],
   "source": [
    "ipo = spi.splrep(x, f(x), k=3)\n",
    "iyd = spi.splev(xd, ipo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "uuid": "0c3e96f1-8732-4ce6-a6ed-bbaae732d950"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'f(x)')"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1b7e0be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(xd, f(xd), 'b', label='f(x)')\n",
    "plt.plot(xd, iyd, 'r.', label='interpolation')\n",
    "plt.legend(loc=0)\n",
    "plt.grid(True)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('f(x)')\n",
    "# tag: sin_plot_ipo_3\n",
    "# title: Example plot (detail) with cubic splines interpolation\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "uuid": "8c67b514-160e-40e3-8f69-da81d7579b2d"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.allclose(f(xd), iyd)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "uuid": "ecc6c2fb-faa4-4149-b71e-05ac5cddeb79"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.1349319851436892e-08"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum((f(xd) - iyd) ** 2) / len(xd)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Convex Optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "uuid": "a09a918e-760c-4e9c-95b8-fe3b568dacdb"
   },
   "outputs": [],
   "source": [
    "def fm(p):\n",
    "    x, y = p\n",
    "    return (np.sin(x) + 0.05 * x ** 2\n",
    "          + np.sin(y) + 0.05 * y ** 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "uuid": "1f4a147b-d9d2-42d5-8553-dd95d75d8251"
   },
   "outputs": [],
   "source": [
    "x = np.linspace(-10, 10, 50)\n",
    "y = np.linspace(-10, 10, 50)\n",
    "X, Y = np.meshgrid(x, y)\n",
    "Z = fm((X, Y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {
    "uuid": "b3a1d3b7-25eb-4ac8-81ed-ad740fd1a297"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1c1ba760f0>"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nf+WycGmQdQQaAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1b8db2b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(9, 6))\n",
    "ax = fig.gca(projection='3d')\n",
    "surf = ax.plot_surface(X, Y, Z, rstride=2, cstride=2, cmap=mpl.cm.coolwarm,\n",
    "        linewidth=0.5, antialiased=True)\n",
    "ax.set_xlabel('x')\n",
    "ax.set_ylabel('y')\n",
    "ax.set_zlabel('f(x, y)')\n",
    "fig.colorbar(surf, shrink=0.5, aspect=5)\n",
    "# tag: opt_plot_3d\n",
    "# title: Function to minimize with two parameters\n",
    "# size: 60"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "uuid": "72b2e44d-2127-412e-9046-2b0c7c5bf7c6"
   },
   "outputs": [],
   "source": [
    "import scipy.optimize as spo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Global Optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "uuid": "e6c829bb-f358-430d-9e8c-781e9d15c9e6"
   },
   "outputs": [],
   "source": [
    "def fo(p):\n",
    "    x, y = p\n",
    "    z = np.sin(x) + 0.05 * x ** 2 + np.sin(y) + 0.05 * y ** 2\n",
    "    if output == True:\n",
    "        print('%8.4f %8.4f %8.4f' % (x, y, z))\n",
    "    return z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {
    "uuid": "d1f54d32-6cb5-4cd2-8a95-ea3b92c87266"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-10.0000 -10.0000  11.0880\n",
      "-10.0000 -10.0000  11.0880\n",
      "-10.0000  -5.0000   7.7529\n",
      "-10.0000   0.0000   5.5440\n",
      "-10.0000   5.0000   5.8351\n",
      "-10.0000  10.0000  10.0000\n",
      " -5.0000 -10.0000   7.7529\n",
      " -5.0000  -5.0000   4.4178\n",
      " -5.0000   0.0000   2.2089\n",
      " -5.0000   5.0000   2.5000\n",
      " -5.0000  10.0000   6.6649\n",
      "  0.0000 -10.0000   5.5440\n",
      "  0.0000  -5.0000   2.2089\n",
      "  0.0000   0.0000   0.0000\n",
      "  0.0000   5.0000   0.2911\n",
      "  0.0000  10.0000   4.4560\n",
      "  5.0000 -10.0000   5.8351\n",
      "  5.0000  -5.0000   2.5000\n",
      "  5.0000   0.0000   0.2911\n",
      "  5.0000   5.0000   0.5822\n",
      "  5.0000  10.0000   4.7471\n",
      " 10.0000 -10.0000  10.0000\n",
      " 10.0000  -5.0000   6.6649\n",
      " 10.0000   0.0000   4.4560\n",
      " 10.0000   5.0000   4.7471\n",
      " 10.0000  10.0000   8.9120\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([ 0.,  0.])"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output = True\n",
    "spo.brute(fo, ((-10, 10.1, 5), (-10, 10.1, 5)), finish=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "uuid": "dc42167b-4e8f-462c-8aad-a94afdf0a8bc"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1.4, -1.4])"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output = False\n",
    "opt1 = spo.brute(fo, ((-10, 10.1, 0.1), (-10, 10.1, 0.1)), finish=None)\n",
    "opt1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {
    "uuid": "ec2669cd-36a5-4b79-a90c-761a39b12044"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.7748994599769203"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fm(opt1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Local Optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "uuid": "e451a278-e2ae-4d86-b357-f230468052a4"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " -1.4000  -1.4000  -1.7749\n",
      " -1.4700  -1.4000  -1.7743\n",
      " -1.4000  -1.4700  -1.7743\n",
      " -1.3300  -1.4700  -1.7696\n",
      " -1.4350  -1.4175  -1.7756\n",
      " -1.4350  -1.3475  -1.7722\n",
      " -1.4088  -1.4394  -1.7755\n",
      " -1.4438  -1.4569  -1.7751\n",
      " -1.4328  -1.4427  -1.7756\n",
      " -1.4591  -1.4208  -1.7752\n",
      " -1.4213  -1.4347  -1.7757\n",
      " -1.4235  -1.4096  -1.7755\n",
      " -1.4305  -1.4344  -1.7757\n",
      " -1.4168  -1.4516  -1.7753\n",
      " -1.4305  -1.4260  -1.7757\n",
      " -1.4396  -1.4257  -1.7756\n",
      " -1.4259  -1.4325  -1.7757\n",
      " -1.4259  -1.4241  -1.7757\n",
      " -1.4304  -1.4177  -1.7757\n",
      " -1.4270  -1.4288  -1.7757\n",
      "Warning: Maximum number of function evaluations has been exceeded.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([-1.42702972, -1.42876755])"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output = True\n",
    "opt2 = spo.fmin(fo, opt1, xtol=0.001, ftol=0.001, maxiter=15, maxfun=20)\n",
    "opt2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "uuid": "0352d556-6ea7-47a6-9c76-e4a56c0efed7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.7757246992239009"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fm(opt2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {
    "uuid": "ff9beaf9-73d7-4157-85cb-24783abae775"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimization terminated successfully.\n",
      "         Current function value: 0.015826\n",
      "         Iterations: 46\n",
      "         Function evaluations: 86\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([ 4.2710728 ,  4.27106945])"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "output = False\n",
    "spo.fmin(fo, (2.0, 2.0), maxiter=250)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Constrained Optimization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "uuid": "703a8ac0-1c74-4851-9fd3-7ac404ee3446"
   },
   "outputs": [],
   "source": [
    "# function to be minimized\n",
    "from math import sqrt\n",
    "def Eu(p):\n",
    "    s, b = p\n",
    "    return -(0.5 * sqrt(s * 15 + b * 5) + 0.5 * sqrt(s * 5 + b * 12))\n",
    "\n",
    "# constraints\n",
    "cons = ({'type': 'ineq', 'fun': lambda p: 100 - p[0] * 10 - p[1] * 10})\n",
    "  # budget constraint\n",
    "bnds = ((0, 1000), (0, 1000))  # uppper bounds large enough"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {
    "uuid": "8f989832-637a-4188-b096-26ceeabd77ea"
   },
   "outputs": [],
   "source": [
    "result = spo.minimize(Eu, [5, 5], method='SLSQP',\n",
    "                       bounds=bnds, constraints=cons)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {
    "uuid": "67c11995-124c-4f9d-8edf-1364b412e754"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "     fun: -9.700883611487832\n",
       "     jac: array([-0.48508096, -0.48489535])\n",
       " message: 'Optimization terminated successfully.'\n",
       "    nfev: 21\n",
       "     nit: 5\n",
       "    njev: 5\n",
       "  status: 0\n",
       " success: True\n",
       "       x: array([ 8.02547122,  1.97452878])"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "uuid": "53899a89-8532-4f22-a17f-54d106412867"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 8.02547122,  1.97452878])"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result['x']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {
    "uuid": "b8548809-fe3a-4fa4-9496-8d3b6a177973"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9.700883611487832"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "-result['fun']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "uuid": "7453e87b-a70d-47b9-8a12-c5c0f01e4b86"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "99.999999999999986"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.dot(result['x'], [10, 10])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Integration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {
    "uuid": "6a38567d-4a2d-464f-8de3-7687e1d2916d"
   },
   "outputs": [],
   "source": [
    "import scipy.integrate as sci"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {
    "uuid": "0954e5b6-9874-4bad-a2fb-28273a015e4a"
   },
   "outputs": [],
   "source": [
    "def f(x):\n",
    "    return np.sin(x) + 0.5 * x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "uuid": "afb6151f-5743-4950-980e-18047e066ebc"
   },
   "outputs": [],
   "source": [
    "a = 0.5  # left integral limit\n",
    "b = 9.5  # right integral limit\n",
    "x = np.linspace(0, 10)\n",
    "y = f(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {
    "uuid": "ad78923f-e4c1-4381-9a24-33b4f1ea3c56"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.axis.YTick at 0x1c1bb476a0>,\n",
       " <matplotlib.axis.YTick at 0x1c1bb46ba8>]"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1c1bb3ea58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.patches import Polygon\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 5))\n",
    "plt.plot(x, y, 'b', linewidth=2)\n",
    "plt.ylim(ymin=0)\n",
    "\n",
    "# area under the function\n",
    "# between lower and upper limit\n",
    "Ix = np.linspace(a, b)\n",
    "Iy = f(Ix)\n",
    "verts = [(a, 0)] + list(zip(Ix, Iy)) + [(b, 0)]\n",
    "poly = Polygon(verts, facecolor='0.7', edgecolor='0.5')\n",
    "ax.add_patch(poly)\n",
    "\n",
    "# labels\n",
    "plt.text(0.75 * (a + b), 1.5, r\"$\\int_a^b f(x)dx$\",\n",
    "         horizontalalignment='center', fontsize=20)\n",
    "\n",
    "plt.figtext(0.9, 0.075, '$x$')\n",
    "plt.figtext(0.075, 0.9, '$f(x)$')\n",
    "\n",
    "ax.set_xticks((a, b))\n",
    "ax.set_xticklabels(('$a$', '$b$'))\n",
    "ax.set_yticks([f(a), f(b)])\n",
    "# tag: sin_integral\n",
    "# title: Example function with integral area\n",
    "# size: 50"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Numerical Integration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "uuid": "6d3aa9c8-58c0-46a3-a89f-ca471a1f83e4"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.366995967084602"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sci.fixed_quad(f, a, b)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {
    "uuid": "0ddebba6-5357-4ce9-b829-d752132d12df"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.374754718086752"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sci.quad(f, a, b)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "uuid": "3b1779d6-c831-449d-964f-e2cc869847e7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.374754718086713"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sci.romberg(f, a, b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "uuid": "5499809d-f2b1-4cc9-8808-511f4e82c5ed"
   },
   "outputs": [],
   "source": [
    "xi = np.linspace(0.5, 9.5, 25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "uuid": "aec239bc-cdd9-4477-b47c-4d0136ed686d"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.352733271544516"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sci.trapz(f(xi), xi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {
    "uuid": "ce33e420-5143-4d54-b23f-0040f54723fc"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.374964184550748"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sci.simps(f(xi), xi)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Integration by Simulation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {
    "uuid": "bb840eb2-0e13-40eb-aea7-0f106dcf9f41"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "24.8047622793\n",
      "26.5229188983\n",
      "26.2655475192\n",
      "26.0277033994\n",
      "24.9995418144\n",
      "23.8818101416\n",
      "23.5279122748\n",
      "23.507857659\n",
      "23.6723674607\n",
      "23.6794104161\n",
      "24.4244017079\n",
      "24.2390053468\n",
      "24.115396925\n",
      "24.4241919876\n",
      "23.9249330805\n",
      "24.1948421203\n",
      "24.1173483782\n",
      "24.1006909297\n",
      "23.7690510985\n"
     ]
    }
   ],
   "source": [
    "for i in range(1, 20):\n",
    "    np.random.seed(1000)\n",
    "    x = np.random.random(i * 10) * (b - a) + a\n",
    "    print(np.sum(f(x)) / len(x) * (b - a))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Symbolic Computation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {
    "uuid": "f01d358d-8094-426c-8e69-657218d8c319"
   },
   "outputs": [],
   "source": [
    "import sympy as sy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Basics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {
    "uuid": "2cb7d5d8-ae45-4001-863e-714df216a656"
   },
   "outputs": [],
   "source": [
    "x = sy.Symbol('x')\n",
    "y = sy.Symbol('y')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {
    "uuid": "7bf55a76-f348-4820-af94-a83ed233d9a2"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sympy.core.symbol.Symbol"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "uuid": "a8f0388b-1df6-4389-877c-af5d9f141708"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sqrt(x)"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.sqrt(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "uuid": "f308fe2e-a5bc-4c88-a7f6-a4f09a568f2f"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sqrt(x) - 13"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "3 + sy.sqrt(x) - 4 ** 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "uuid": "025f5084-4efc-4416-a564-b8a96ec426fd"
   },
   "outputs": [],
   "source": [
    "f = x ** 2 + 3 + 0.5 * x ** 2 + 3 / 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "uuid": "f427581e-50ba-45b9-a145-ff734be26e59"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.5*x**2 + 4.5"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.simplify(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "uuid": "59837e7c-a82f-44e5-8b87-b0fba310ffc5"
   },
   "outputs": [],
   "source": [
    "sy.init_printing(pretty_print=False, use_unicode=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "uuid": "ea1bbb85-a431-4e6c-a264-6ffb6df9f59e"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     2      \n",
      "1.5*x  + 4.5\n"
     ]
    }
   ],
   "source": [
    "print(sy.pretty(f))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {
    "uuid": "e8702014-5347-4eac-b10c-39c5a54459c9"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  ___      \n",
      "\\/ x  + 0.5\n"
     ]
    }
   ],
   "source": [
    "print(sy.pretty(sy.sqrt(x) + 0.5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {
    "uuid": "b8cf7cf4-56e2-4c6b-a70b-6592ec4bd6a6"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'3.14159265358979323846264338327950288419'"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pi_str = str(sy.N(sy.pi, 400000))\n",
    "pi_str[:40]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "uuid": "595cc15e-99b8-43c7-ad89-db4500fdb860"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'8245672736856312185020980470362464176198'"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pi_str[-40:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "uuid": "cc4b85c4-e603-4d36-9553-f3999e877fca"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "366713"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pi_str.find('111272')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Equations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {
    "uuid": "c310eeab-ac04-4015-a327-29628f9a9a11"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[-1, 1]"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.solve(x ** 2 - 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {
    "uuid": "60076f9d-93f3-47e0-b5b6-87d1bca3d30a"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[-2, 2]"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.solve(x ** 2 - 1 - 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {
    "uuid": "6c9e1060-61e6-4b18-9be4-cb71b83fc5a7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.858094329496553, -0.679047164748276 - 0.839206763026694*I, -0.679047164748276 + 0.839206763026694*I]"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.solve(x ** 3 + 0.5 * x ** 2 - 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {
    "uuid": "fcd70615-0db5-4c5c-8246-245ba3c8501c"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{x: -I*y}, {x: I*y}]"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.solve(x ** 2 + y ** 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Integration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {
    "uuid": "503329d1-812a-461c-9019-e6bb2a44125e"
   },
   "outputs": [],
   "source": [
    "a, b = sy.symbols('a b')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {
    "uuid": "af7bf980-d65b-4567-8576-404e79c5ac65"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  b                    \n",
      "  /                    \n",
      " |                     \n",
      " |  (0.5*x + sin(x)) dx\n",
      " |                     \n",
      "/                      \n",
      "a                      \n"
     ]
    }
   ],
   "source": [
    "print(sy.pretty(sy.Integral(sy.sin(x) + 0.5 * x, (x, a, b))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {
    "uuid": "89d4c980-01d7-423a-a2ab-a9698787019a"
   },
   "outputs": [],
   "source": [
    "int_func = sy.integrate(sy.sin(x) + 0.5 * x, x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {
    "uuid": "38141163-7d29-4bd6-bfaf-9f9cfad86967"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "      2         \n",
      "0.25*x  - cos(x)\n"
     ]
    }
   ],
   "source": [
    "print(sy.pretty(int_func))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {
    "uuid": "51d4481a-c6b6-4caa-b4d1-aa6fb04d4493"
   },
   "outputs": [],
   "source": [
    "Fb = int_func.subs(x, 9.5).evalf()\n",
    "Fa = int_func.subs(x, 0.5).evalf()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {
    "uuid": "0c46e097-c665-440e-9d05-03c0d6e6d8d8"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.3747547180867"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Fb - Fa  # exact value of integral"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "uuid": "657b13dc-101e-4c0c-9d15-43dbd418c3c8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "        2         2                  \n",
      "- 0.25*a  + 0.25*b  + cos(a) - cos(b)\n"
     ]
    }
   ],
   "source": [
    "int_func_limits = sy.integrate(sy.sin(x) + 0.5 * x, (x, a, b))\n",
    "print(sy.pretty(int_func_limits))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "uuid": "5c65cea8-1e15-4efa-aba4-52888becaf19"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.3747547180868"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "int_func_limits.subs({a : 0.5, b : 9.5}).evalf()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "uuid": "b13767c8-4878-42c1-b738-0727b824b329"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.3747547180867"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sy.integrate(sy.sin(x) + 0.5 * x, (x, 0.5, 9.5))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Differentiation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {
    "uuid": "6ea93bb3-eb7c-4837-8327-621f3752b657"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5*x + sin(x)"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "int_func.diff()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "uuid": "164131fd-a197-40ce-85d6-94221e808073"
   },
   "outputs": [],
   "source": [
    "f = (sy.sin(x) + 0.05 * x ** 2\n",
    "   + sy.sin(y) + 0.05 * y ** 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "uuid": "5d1ce51b-2536-469b-b516-56db1e86519a"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1*x + cos(x)"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del_x = sy.diff(f, x)\n",
    "del_x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "uuid": "8d778c21-ed6a-43f0-8347-b95af334972a"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1*y + cos(y)"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "del_y = sy.diff(f, y)\n",
    "del_y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "uuid": "588daaba-266a-43da-a4b9-baeb56fc1ac8"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.42755177876459"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xo = sy.nsolve(del_x, -1.5)\n",
    "xo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "uuid": "2ef9beca-58f2-470b-a50e-6292bffbf2e0"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.42755177876459"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "yo = sy.nsolve(del_y, -1.5)\n",
    "yo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "uuid": "c0812b29-c69f-4a30-aaf1-1447d1434cf4"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.77572565314742"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f.subs({x : xo, y : yo}).evalf() \n",
    "  # global minimum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "uuid": "fd89d904-eab3-4035-941a-785c6a3f36cb"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.74632928225285"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xo = sy.nsolve(del_x, 1.5)\n",
    "xo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {
    "uuid": "cc99d8f4-e062-4c7e-85ae-46e96d3c8f19"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.74632928225285"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "yo = sy.nsolve(del_y, 1.5)\n",
    "yo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {
    "uuid": "54622abe-cef1-47ff-bf23-b883cf588a91"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.27423381055640"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f.subs({x : xo, y : yo}).evalf()\n",
    "  # local minimum"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Further Reading"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://hilpisch.com/tpq_logo.png\" alt=\"The Python Quants\" width=\"35%\" align=\"right\" border=\"0\"><br>\n",
    "\n",
    "<a href=\"http://tpq.io\" target=\"_blank\">http://tpq.io</a> | <a href=\"http://twitter.com/dyjh\" target=\"_blank\">@dyjh</a> | <a href=\"mailto:training@tpq.io\">training@tpq.io</a>\n",
    "\n",
    "**Quant Platform** |\n",
    "<a href=\"http://quant-platform.com\">http://quant-platform.com</a>\n",
    "\n",
    "**Python for Finance** |\n",
    "<a href=\"http://python-for-finance.com\" target=\"_blank\">Python for Finance @ O'Reilly</a>\n",
    "\n",
    "**Derivatives Analytics with Python** |\n",
    "<a href=\"http://derivatives-analytics-with-python.com\" target=\"_blank\">Derivatives Analytics @ Wiley Finance</a>\n",
    "\n",
    "**Listed Volatility and Variance Derivatives** |\n",
    "<a href=\"http://lvvd.tpq.io\" target=\"_blank\">Listed VV Derivatives @ Wiley Finance</a>\n",
    "\n",
    "**Python Training** |\n",
    "<a href=\"http://training.tpq.io\" target=\"_blank\">Python for Finance University Certificate</a>"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
